Cash basis extensions for vouchers

account_voucher_cash_basis
REPOSITORY
REPOSITORYOCA/account-payment
GIT
GIThttps://github.com/OCA/account-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-payment/tree/8.0/account_voucher_cash_basis
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYHidden/Dependency
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Agile Business Group
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Agile Business Group
COMMITTERS
COMMITTERSStéphane Bidoul, Lorenzo Battistini, eLBati, Pedro M. Baeza, Fekete Mihai, Stéphane Bidoul (ACSONE), Alex Comba, OCA Transbot, archetipo, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttp://www.agilebg.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_voucher
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
view_account_config_settings view_account_config_settings account.config.settings xpath Inherits account.view_account_config_settings
view_vendor_payment_form view_vendor_payment_form account.voucher field Inherits account_voucher.view_vendor_payment_form
view_vendor_receipt_dialog_form view_vendor_receipt_dialog_form account.voucher field Inherits account_voucher.view_vendor_receipt_dialog_form
view_vendor_receipt_form view_vendor_receipt_form account.voucher field Inherits account_voucher.view_vendor_receipt_form
Models touched (3)

New fields (0)

No new fields.

Public methods (1)
  • onchange_company_id(self, cr, uid, ids, company_id, context=None)

New fields (0)

No new fields.

Public methods (5)
  • allocated_amounts_grouped_by_invoice(self, cr, uid, voucher, context=None)
    this method builds a dictionary in the following form { first_invoice_id: { 'allocated': 120.0, 'total': 120.0, 'total_currency': 0.0, 'write-off': -20.0, 'allocated_currency': 0.0, 'foreign_currency_id': False, # int 'currency-write-off': 0.0, } second_invoice_id: { 'allocated': 50.0, 'total': 100.0, 'total_currency': 0.0, 'write-off': 0.0, 'allocated_currency': 0.0, 'foreign_currency_id': False, 'currency-write-off': 0.0, } } every amout is expressed in company currency. In order to compute cashed amount correctly, write-off will be subtract to reconciled amount. If more than one invoice is paid with this voucher, we distribute write-off equally (if allowed)
  • balance_move(self, cr, uid, move_id, context=None)
  • get_invoice_total(self, invoice)
  • get_invoice_total_currency(self, invoice)
  • voucher_move_line_create(self, cr, uid, voucher_id, line_total, move_id, company_currency, current_currency, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/account-payment
GIT
GIThttps://github.com/OCA/account-payment.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/account-payment/tree/7.0/account_voucher_cash_basis
VERSION
VERSION 1.0
CATEGORY
CATEGORYHidden/Dependency
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Agile Business Group
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Agile Business Group
COMMITTERS
COMMITTERSLorenzo Battistini, Alexandre Fayolle, Pedro M. Baeza, Rudolf Schnapka, moylop260, dufresnedavid
WEBSITE
WEBSITEhttp://www.agilebg.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_voucher
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - process
    - decimal_precision
    - mail
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
In some countries, under certain conditions, companies can apply the cash
basis.
The cash basis means businesses may account for VAT as payment comes in from
their customers.
It is easier to manage than the normal method, which forces businesses to
account for VAT based on invoices issued, regardless of whether or not the
money has come in.
The key advantage to accounting for VAT on a cash basis is the cashflow benefit
to your business.
The effect of the cash basis is that you only become liable for VAT when you
have actually received payment, so you don't have to fund the VAT on your
debtors.
This is particularly helpful in a startup situation and in the case of an
expanding business.

This module gathers all the basic functionalities that allow to handle the
cash basis.
    

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
view_account_config_settings view_account_config_settings account.config.settings xpath Inherits account.view_account_config_settings
view_vendor_payment_form view_vendor_payment_form account.voucher field Inherits account_voucher.view_vendor_payment_form
view_vendor_receipt_dialog_form view_vendor_receipt_dialog_form account.voucher field Inherits account_voucher.view_vendor_receipt_dialog_form
view_vendor_receipt_form view_vendor_receipt_form account.voucher field Inherits account_voucher.view_vendor_receipt_form
Models touched (3)

New fields (0)

No new fields.

Public methods (1)
  • onchange_company_id(self, cr, uid, ids, company_id, context=None)

New fields (0)

No new fields.

Public methods (5)
  • allocated_amounts_grouped_by_invoice(self, cr, uid, voucher, context=None)
    this method builds a dictionary in the following form { first_invoice_id: { 'allocated': 120.0, 'total': 120.0, 'total_currency': 0.0, 'write-off': 20.0, 'allocated_currency': 0.0, 'foreign_currency_id': False, # int 'currency-write-off': 0.0, } second_invoice_id: { 'allocated': 50.0, 'total': 100.0, 'total_currency': 0.0, 'write-off': 0.0, 'allocated_currency': 0.0, 'foreign_currency_id': False, 'currency-write-off': 0.0, } } every amout is expressed in company currency. In order to compute cashed amount correctly, write-off will be subtract to reconciled amount. If more than one invoice is paid with this voucher, we distribute write-off equally (if allowed)
  • balance_move(self, cr, uid, move_id, context=None)
  • get_invoice_total(self, invoice)
  • get_invoice_total_currency(self, invoice)
  • voucher_move_line_create(self, cr, uid, voucher_id, line_total, move_id, company_currency, current_currency, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.