Employee Advance Overdue Reminder

hr_expense_advance_overdue_reminder
REPOSITORY
REPOSITORYOCA/hr-expense
GIT
GIThttps://github.com/OCA/hr-expense.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr-expense/tree/15.0/hr_expense_advance_overdue_reminder
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Ecosoft
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Ecosoft
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Saran440
WEBSITE
WEBSITEhttps://github.com/OCA/hr-expense
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:39
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/hr-expense:
    - hr_expense_advance_clearing_sequence
    - hr_expense_sequence
    - hr_expense_advance_clearing
odoo/odoo:
    - hr_expense
    - hr_contract
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
hr_advance_overdue_reminder_form hr.advance.overdue.reminder.form hr.advance.overdue.reminder form New
hr_advance_overdue_reminder_search hr.advance.overdue.reminder.search hr.advance.overdue.reminder search New
hr_advance_overdue_reminder_tree hr.advance.overdue.reminder.tree hr.advance.overdue.reminder tree New
hr_expense_sheet_view_search hr.expense.sheet.view.search hr.expense.sheet xpath Inherits hr_expense.hr_expense_sheet_view_search
reminder_definition_view_form reminder.definition.form reminder.definition form New
reminder_definition_view_tree reminder.definition.tree reminder.definition tree New
view_hr_expense_sheet_form view.hr.expense.sheet.form hr.expense.sheet xpath Inherits hr_expense.view_hr_expense_sheet_form
view_hr_expense_sheet_tree hr.expense.sheet.tree hr.expense.sheet field Inherits hr_expense.view_hr_expense_sheet_tree
wizard_advance_overdue_reminder_form hr.advance.overdue.reminder.wizard.form hr.advance.overdue.reminder.wizard form New
Models touched (6)

New fields (7)
  • activity_note Html
    string='Note'
  • activity_summary Char
    string='Summary'
  • activity_type_id Many2one → mail.activity.type
    comodel_name='mail.activity.type' string='Activity'
  • create_activity Boolean
    help='If set, system will be notified reminder next time.'
  • letter_report Many2one → ir.actions.report
    comodel_name='ir.actions.report'
  • mail_template_id Many2one → mail.template
    comodel_name='mail.template' default=<expr>
  • reminder_type Selection
    default='mail' required=True selection='_reminder_type_selection' string='Reminder'
Public methods (0)

No public methods.

New fields (19)
  • activity_note Html
    readonly=True states={'draft': [('readonly', False)]}
  • activity_scheduled_date Date
    readonly=True states={'draft': [('readonly', False)]} string='Scheduled Date'
  • activity_summary Char
    readonly=True states={'draft': [('readonly', False)]}
  • activity_type_id Many2one
    readonly=True states={'draft': [('readonly', False)]}
  • activity_user_id Many2one → res.users
    comodel_name='res.users' compute='_compute_activity_user' states={'draft': [('readonly', False)]} store=True string='Assigned to' tracking=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> readonly=True required=True
  • create_activity Boolean
    readonly=True states={'draft': [('readonly', False)]}
  • date Date
    default=fields.Date.context_today readonly=True
  • employee_email Char
    related='employee_id.private_email' string='Email'
  • employee_id Many2one → hr.employee
    comodel_name='hr.employee' readonly=True required=True states={'draft': [('readonly', False)]} tracking=True
  • expense_sheet_ids Many2many → hr.expense.sheet
    column1='overdue_reminder_id' column2='expense_sheet_id' comodel_name='hr.expense.sheet' readonly=True relation='expense_sheet_overdue_reminder_rel' states={'draft': [('readonly', False)]} string='Overdue Expense Advance Sheet'
  • letter_report Many2one
    readonly=True states={'draft': [('readonly', False)]}
  • mail_template_id Many2one
    readonly=True states={'draft': [('readonly', False)]}
  • name Char
    copy=False default='/' readonly=True required=True
  • reminder_definition_id Many2one → reminder.definition
    comodel_name='reminder.definition' readonly=True required=True states={'draft': [('readonly', False)]}
  • reminder_next_time Date
    readonly=True states={'draft': [('readonly', False)]}
  • reminder_type Selection
    readonly=True states={'draft': [('readonly', False)]}
  • state Selection
    default='draft' readonly=True tracking=True args: [('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Cancelled')]
  • user_id Many2one → res.users
    comodel_name='res.users' readonly=True
Public methods (7)
  • action_cancel(self)
  • action_validate(self)
  • create(self, vals)
    @api.model
  • onchange_reminder_definition(self)
    @api.onchange('reminder_definition_id')
  • print_letter(self)
  • unlink(self)
    Not allow delete document when sent already.
  • validate_mail(self)

New fields (12)
  • activity_note Html
    string='Note'
  • activity_summary Char
    string='Summary'
  • activity_type_id Many2one → mail.activity.type
    comodel_name='mail.activity.type' string='Activity'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • create_activity Boolean
  • employee_ids Many2many → hr.employee
    comodel_name='hr.employee' string='Employee(s)'
  • letter_report Many2one → ir.actions.report
    comodel_name='ir.actions.report'
  • mail_template_id Many2one → mail.template
    comodel_name='mail.template'
  • reminder_definition_id Many2one → reminder.definition
    comodel_name='reminder.definition' required=True
  • reminder_next_time Date
    compute='_compute_reminder_next_time' readonly=False required=True store=True string='Next Reminder'
  • reminder_number Integer
    required=True string='Reminder Every'
  • reminder_type Selection
    selection='_reminder_type_selection'
Public methods (2)
  • onchange_reminder_definition(self)
    @api.onchange('reminder_definition_id')
  • run(self)

New fields (6)
  • clearing_date_due Date
    readonly=True states={'draft': [('readonly', False)]} string='Clearing Due Date' tracking=True
  • is_overdue Boolean
    compute='_compute_overdue'
  • overdue_reminder_counter Integer
    compute='_compute_overdue_reminder' help='This counter is increased when reminder.' string='Reminder Count'
  • overdue_reminder_ids Many2many → hr.advance.overdue.reminder
    column1='expense_sheet_id' column2='overdue_reminder_id' comodel_name='hr.advance.overdue.reminder' relation='expense_sheet_overdue_reminder_rel' string='Overdue Reminder Action History'
  • overdue_reminder_last_date Date
    string='Last Reminder Date'
  • reminder_next_time Date
    string='Next Reminder Date'
Public methods (2)
  • action_overdue_reminder(self)
  • action_sheet_move_create(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (5)
  • active Boolean
    default=True
  • clearing_terms_days Integer
    default=30 help='In case this field is configured, the system will help calculate Clearing Date Due according to the term.' string='Clearing Terms'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • name Char
    required=True string='Description'
  • reminder_number Integer
    default=5 string='Reminder Every'
Public methods (0)

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/hr-expense
PULL REQUEST
PULL REQUEST[18.0][MIG] hr_expense_advance_overdue_reminder: Migration to 18.0 (#363)