Petty Cash

hr_expense_petty_cash
REPOSITORY
REPOSITORYOCA/hr-expense
GIT
GIThttps://github.com/OCA/hr-expense.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr-expense/tree/18.0/hr_expense_petty_cash
VERSION
VERSION 1.2.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, Bhavesh Heliconia
WEBSITE
WEBSITEhttps://github.com/OCA/hr-expense
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_expense
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - hr
    - phone_validation
    - resource_mail
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module work about expense that paid by petty cash.

General Process:

1.  Create Petty Cash Holder
2.  Transfer cash to Petty Cash Holder (by using Vendor Bill)
3.  You can create expense paid by petty cash and select petty cash
    holder.
4.  Then balance of petty cash holder less than amount of expense, you
    must transfer cash to petty cash holder before Submit Report to
    Manager.

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
hr_expense_sheet_view_search_inherit hr.expense.sheet.search.inherit hr.expense.sheet xpath Inherits hr_expense.hr_expense_sheet_view_search
hr_expense_view_form_inherit hr.expense.view.form.inherit hr.expense xpath Inherits hr_expense.hr_expense_view_form
hr_expense_view_search_inherit hr.expense.search.inherit hr.expense xpath Inherits hr_expense.hr_expense_view_search
view_hr_expense_sheet_form_inherit view.hr.expense.sheet.form.inherit hr.expense.sheet xpath Inherits hr_expense.view_hr_expense_sheet_form
view_move_form_inherit account.move.form.inherit account.move xpath Inherits account.view_move_form
view_petty_cash_form petty.cash.form petty.cash form New
view_petty_cash_kanban petty.cash.kanban petty.cash kanban New
view_petty_cash_list petty.cash.list petty.cash list New
view_petty_cash_search petty.cash.search petty.cash search New
Models touched (4)

New fields (1)
  • is_petty_cash Boolean
    string='Petty Cash'
Public methods (1)
  • action_post(self)

New fields (2)
  • payment_mode Selection
    ondelete={'petty_cash': 'set default'} selection_add=[('petty_cash', 'Petty Cash')]
  • petty_cash_id Many2one → petty.cash
    check_company=True comodel_name='petty.cash' ondelete='restrict' string='Petty cash holder'
Public methods (0)

No public methods.

New fields (1)
  • petty_cash_id Many2one → petty.cash
    comodel_name='petty.cash' compute='_compute_petty_cash' ondelete='restrict' store=True string='Petty cash holder'
Public methods (2)
  • action_open_account_moves(self)
  • action_sheet_move_post(self)

New fields (7)
  • account_id Many2one → account.account
    check_company=True comodel_name='account.account' required=True string='Petty Cash Account'
  • active Boolean
    default=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True
  • journal_id Many2one → account.journal
    check_company=True comodel_name='account.journal'
  • partner_id Many2one → res.partner
    check_company=True comodel_name='res.partner' required=True string='Petty Cash Holder'
  • petty_cash_balance Float
    compute='_compute_petty_cash_balance' string='Balance'
  • petty_cash_limit Float
    required=True string='Max Limit'
Public methods (0)

No public methods.

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_petty_cash
VERSION
VERSION 2.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, ps-tubtim
WEBSITE
WEBSITEhttps://github.com/OCA/hr-expense
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:39
ODOO DEPENDENCIES
ODOO DEPENDENCIES 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_expense_sheet_view_search_inherit hr.expense.sheet.search.inherit hr.expense.sheet xpath Inherits hr_expense.hr_expense_sheet_view_search
hr_expense_view_form_inherit hr.expense.view.form.inherit hr.expense xpath Inherits hr_expense.hr_expense_view_form
hr_expense_view_search_inherit hr.expense.search.inherit hr.expense xpath Inherits hr_expense.hr_expense_view_search
view_hr_expense_sheet_form_inherit view.hr.expense.sheet.form.inherit hr.expense.sheet xpath Inherits hr_expense.view_hr_expense_sheet_form
view_move_form_inherit account.move.form.inherit account.move xpath Inherits account.view_move_form
view_petty_cash_form petty.cash.form petty.cash form New
view_petty_cash_kanban petty.cash.kanban petty.cash kanban New
view_petty_cash_list petty.cash.list petty.cash tree New
view_petty_cash_search petty.cash.search petty.cash search New
Models touched (4)

New fields (1)
  • is_petty_cash Boolean
    readonly=True states={'draft': [('readonly', False)]} string='Petty Cash'
Public methods (1)
  • action_post(self)

New fields (2)
  • payment_mode Selection
    selection_add=[('petty_cash', 'Petty Cash')]
  • petty_cash_id Many2one → petty.cash
    check_company=True comodel_name='petty.cash' ondelete='restrict' readonly=True states={'draft': [('readonly', False)]} string='Petty cash holder'
Public methods (0)

No public methods.

New fields (1)
  • petty_cash_id Many2one → petty.cash
    comodel_name='petty.cash' compute='_compute_petty_cash' ondelete='restrict' store=True string='Petty cash holder'
Public methods (0)

No public methods.

New fields (7)
  • account_id Many2one → account.account
    check_company=True comodel_name='account.account' required=True string='Petty Cash Account'
  • active Boolean
    default=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True
  • journal_id Many2one → account.journal
    check_company=True comodel_name='account.journal'
  • partner_id Many2one → res.partner
    check_company=True comodel_name='res.partner' required=True string='Petty Cash Holder'
  • petty_cash_balance Float
    compute='_compute_petty_cash_balance' string='Balance'
  • petty_cash_limit Float
    required=True string='Max Limit'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/hr-expense
GIT
GIThttps://github.com/OCA/hr-expense.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr-expense/tree/14.0/hr_expense_petty_cash
VERSION
VERSION 1.0.1
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
COMMITTERSoca-travis, Weblate, OCA-git-bot, oca-ci, Saran440
WEBSITE
WEBSITEhttps://github.com/OCA/hr-expense
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:07
ODOO DEPENDENCIES
ODOO DEPENDENCIES 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_expense_sheet_view_search_inherit hr.expense.sheet.search.inherit hr.expense.sheet xpath Inherits hr_expense.hr_expense_sheet_view_search
hr_expense_view_form_inherit hr.expense.view.form.inherit hr.expense xpath Inherits hr_expense.hr_expense_view_form
hr_expense_view_search_inherit hr.expense.search.inherit hr.expense xpath Inherits hr_expense.hr_expense_view_search
view_hr_expense_sheet_form_inherit view.hr.expense.sheet.form.inherit hr.expense.sheet xpath Inherits hr_expense.view_hr_expense_sheet_form
view_move_form_inherit account.move.form.inherit account.move xpath Inherits account.view_move_form
view_petty_cash_form petty.cash.form petty.cash form New
view_petty_cash_kanban petty.cash.kanban petty.cash kanban New
view_petty_cash_list petty.cash.list petty.cash tree New
view_petty_cash_search petty.cash.search petty.cash search New
Models touched (4)

New fields (1)
  • is_petty_cash Boolean
    readonly=True states={'draft': [('readonly', False)]} string='Petty Cash'
Public methods (1)
  • action_post(self)

New fields (2)
  • payment_mode Selection
    selection_add=[('petty_cash', 'Petty Cash')]
  • petty_cash_id Many2one → petty.cash
    comodel_name='petty.cash' ondelete='restrict' readonly=True states={'draft': [('readonly', False)]} string='Petty cash holder'
Public methods (0)

No public methods.

New fields (2)
  • journal_id Many2one → account.journal
    comodel_name='account.journal' default=_default_journal_id
  • petty_cash_id Many2one → petty.cash
    comodel_name='petty.cash' compute='_compute_petty_cash' ondelete='restrict' string='Petty cash holder'
Public methods (0)

No public methods.

New fields (6)
  • account_id Many2one → account.account
    comodel_name='account.account' required=True string='Petty Cash Account'
  • active Boolean
    default=True
  • journal_id Many2one → account.journal
    comodel_name='account.journal'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' required=True string='Petty Cash Holder'
  • petty_cash_balance Float
    compute='_compute_petty_cash_balance' string='Balance'
  • petty_cash_limit Float
    required=True string='Max Limit'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/hr-expense
GIT
GIThttps://github.com/OCA/hr-expense.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr-expense/tree/13.0/hr_expense_petty_cash
VERSION
VERSION 1.1.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
COMMITTERSVíctor Martínez, oca-travis, Weblate, OCA-git-bot, Saran440, ps-tubtim
WEBSITE
WEBSITEhttps://github.com/OCA/hr-expense
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:17
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_expense
    - hr_contract
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - mail_bot
    - 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_expense_sheet_view_search_inherit hr.expense.sheet.search.inherit hr.expense.sheet xpath Inherits hr_expense.hr_expense_sheet_view_search
hr_expense_view_form_inherit hr.expense.view.form.inherit hr.expense xpath Inherits hr_expense.hr_expense_view_form
hr_expense_view_search_inherit hr.expense.search.inherit hr.expense xpath Inherits hr_expense.hr_expense_view_search
view_hr_expense_sheet_form_inherit view.hr.expense.sheet.form.inherit hr.expense.sheet xpath Inherits hr_expense.view_hr_expense_sheet_form
view_move_form_inherit account.move.form.inherit account.move xpath Inherits account.view_move_form
view_petty_cash_form petty.cash.form petty.cash form New
view_petty_cash_kanban petty.cash.kanban petty.cash kanban New
view_petty_cash_list petty.cash.list petty.cash tree New
view_petty_cash_search petty.cash.search petty.cash search New
Models touched (4)

New fields (1)
  • is_petty_cash Boolean
    readonly=True states={'draft': [('readonly', False)]} string='Petty Cash'
Public methods (1)
  • action_post(self)

New fields (2)
  • payment_mode Selection
    selection_add=[('petty_cash', 'Petty Cash')]
  • petty_cash_id Many2one → petty.cash
    comodel_name='petty.cash' ondelete='restrict' readonly=True states={'draft': [('readonly', False)]} string='Petty cash holder'
Public methods (0)

No public methods.

New fields (2)
  • journal_id Many2one
    default=_default_journal_id
  • petty_cash_id Many2one → petty.cash
    comodel_name='petty.cash' compute='_compute_petty_cash' ondelete='restrict' string='Petty cash holder'
Public methods (0)

No public methods.

New fields (6)
  • account_id Many2one → account.account
    comodel_name='account.account' required=True string='Petty Cash Account'
  • active Boolean
    default=True
  • journal_id Many2one → account.journal
    comodel_name='account.journal'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' required=True string='Petty Cash Holder'
  • petty_cash_balance Float
    compute='_compute_petty_cash_balance' string='Balance'
  • petty_cash_limit Float
    required=True string='Max Limit'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/hr
GIT
GIThttps://github.com/OCA/hr.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr/tree/12.0/hr_expense_petty_cash
VERSION
VERSION 1.2.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
COMMITTERSoca-travis, Weblate, OCA-git-bot, Saran440, ps-tubtim
WEBSITE
WEBSITEhttps://github.com/OCA/hr
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_expense
    - hr_contract
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - account
    - product
    - decimal_precision
    - uom
    - analytic
    - portal
    - http_routing
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
hr_expense_view_form_inherit hr.expense.view.form.inherit hr.expense xpath Inherits hr_expense.hr_expense_view_form
view_hr_expense_filter_inherit hr.expense.filter.inherit hr.expense xpath Inherits hr_expense.view_hr_expense_filter
view_hr_expense_sheet_filter_inherit hr.expense.sheet.filter.inherit hr.expense.sheet xpath Inherits hr_expense.view_hr_expense_sheet_filter
view_hr_expense_sheet_form_inherit view.hr.expense.sheet.form.inherit hr.expense.sheet xpath Inherits hr_expense.view_hr_expense_sheet_form
view_invoice_asset_category account.invoice.supplier.form account.invoice xpath Inherits account.invoice_supplier_form
view_petty_cash_form petty.cash.form petty.cash form New
view_petty_cash_kanban petty.cash.kanban petty.cash kanban New
view_petty_cash_list petty.cash.list petty.cash tree New
view_petty_cash_search petty.cash.search petty.cash search New
Models touched (4)

New fields (1)
  • is_petty_cash Boolean
    readonly=True states={'draft': [('readonly', False)]} string='Petty Cash'
Public methods (0)

No public methods.

New fields (2)
  • payment_mode Selection
    selection_add=[('petty_cash', 'Petty Cash')]
  • petty_cash_id Many2one → petty.cash
    comodel_name='petty.cash' ondelete='restrict' readonly=True states={'draft': [('readonly', False)]} string='Petty cash holder'
Public methods (1)
  • action_submit_expenses(self)
    @api.multi

New fields (3)
  • journal_id Many2one
    default=_default_journal_id
  • payment_mode Selection
    selection_add=[('petty_cash', 'Petty Cash')]
  • petty_cash_id Many2one → petty.cash
    comodel_name='petty.cash' compute='_compute_petty_cash' ondelete='restrict' readonly=True string='Petty cash holder'
Public methods (0)

No public methods.

New fields (6)
  • account_id Many2one → account.account
    comodel_name='account.account' required=True string='Petty Cash Account'
  • active Boolean
    default=True
  • journal_id Many2one → account.journal
    comodel_name='account.journal'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' domain=[('supplier', '=', True)] required=True string='Petty Cash Holder'
  • petty_cash_balance Float
    compute='_compute_petty_cash_balance' string='Balance'
  • petty_cash_limit Float
    required=True string='Max Limit'
Public methods (0)

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/hr-expense
PULL REQUEST
PULL REQUEST[16.0][MIG] hr_expense_petty_cash (#228)