Repository
odoo/odoo · module folder
Module version
1.1
Category
Accounting/Localizations
Folder size
0.1 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
None
Last tracking update
2026-08-07 06:47:05
Authors
ADHOC SA
Maintainers
ADHOC SA
Committers
Odoo Translation Bot, Arnold Moyaux, Luis Torres, Andrea Grazioso (agr-odoo), Gorash, Thomas Becquevort (thbe), Andrew Gavgavian, Dylan Kiss (dyki), guva-odoo, yosa-odoo, Claire (clbr), Julia Elizondo, gteboul, Antoine Dupuis, Anton Romanova (roan), Krzysztof Magusiak (krma), bhra-odoo, Dirk Douglas, Amr Elkhatieb, saurabh, soza-odoo
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
l10n_ar, l10n_br, l10n_cl, l10n_co_electronic_invoice, l10n_ec, l10n_pe, l10n_uy
Description
Functional
----------

In some Latinamerica countries, including Argentina and Chile, some accounting transactions like invoices and vendor bills are classified by a document types defined by the government fiscal authorities (In Argentina case ARCA, Chile case SII).

This module is intended to be extended by localizations in order to manage these document types and is an essential information that needs to be displayed in the printed reports and that needs to be easily identified, within the set of invoices as well of account moves.

Each document type have their own rules and sequence number, this last one is integrated with the invoice number and journal sequence in order to be easy for the localization user. In order to support or not this document types a Journal has a new option that lets to use document or not.

Technical
---------

If your localization needs this logic will then need to add this module as dependency and in your localization module extend:

* extend company's _localization_use_documents() method.
* create the data of the document types that exists for the specific country. The document type has a country field

Code Analysis

Views touched (17)
XML IDNameModelTypeStatus
external_layout_bold external_layout_bold ir.ui.view qweb Inherits web.external_layout_bold
external_layout_boxed external_layout_boxed ir.ui.view qweb Inherits web.external_layout_boxed
external_layout_bubble external_layout_bubble ir.ui.view qweb Inherits web.external_layout_bubble
external_layout_folder external_layout_folder ir.ui.view qweb Inherits web.external_layout_folder
external_layout_standard external_layout_standard ir.ui.view qweb Inherits web.external_layout_standard
external_layout_striped external_layout_striped ir.ui.view qweb Inherits web.external_layout_striped
external_layout_wave external_layout_wave ir.ui.view qweb Inherits web.external_layout_wave
view_account_invoice_filter account.move.select account.move Inherits account.view_account_invoice_filter
view_account_invoice_report_search account.invoice.report.search account.invoice.report search Inherits account.view_account_invoice_report_search
view_account_journal_form account.journal.form account.journal form Inherits account.view_account_journal_form
view_account_move_filter account.move.filter account.move Inherits account.view_account_move_filter
view_account_move_line_filter account.move.line.filter account.move.line Inherits account.view_account_move_line_filter
view_account_move_reversal account.move.reversal.form account.move.reversal form Inherits account.view_account_move_reversal
view_document_type_filter l10n_latam.document.type.filter l10n_latam.document.type search New
view_document_type_form l10n_latam.document.type.form l10n_latam.document.type form New
view_document_type_tree l10n_latam.document.type.list l10n_latam.document.type list New
view_move_form account.move.form account.move form Inherits account.view_move_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (9)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • create_debit(self)
    Properly compute the latam document type of type debit note.

New fields (1)
  • l10n_latam_document_type_id Many2one → l10n_latam.document.type
    index=True args: 'l10n_latam.document.type', 'Document Type'
Public methods (0)

No public methods.

New fields (2)
  • l10n_latam_company_use_documents Boolean
    compute='_compute_l10n_latam_company_use_documents'
  • l10n_latam_use_documents Boolean
    help='If active: will be using for legal invoicing (invoices, debit/credit notes). If not set means that will be used to register accounting entries not related to invoicing legal documents. For Example: Receipts, Tax Payments, Register journal entries' args: 'Use Documents?'
Public methods (1)
  • check_use_document(self)
    @api.constrains('l10n_latam_use_documents')

New fields (6)
  • l10n_latam_available_document_type_ids Many2many → l10n_latam.document.type
    compute='_compute_l10n_latam_available_document_types' args: 'l10n_latam.document.type'
  • l10n_latam_document_number Char
    compute='_compute_l10n_latam_document_number' inverse='_inverse_l10n_latam_document_number' readonly=False string='Document Number'
  • l10n_latam_document_type_id Many2one → l10n_latam.document.type
    bypass_search_access=True compute='_compute_l10n_latam_document_type' index='btree_not_null' readonly=False store=True string='Document Type' args: 'l10n_latam.document.type'
  • l10n_latam_document_type_id_code Char
    related='l10n_latam_document_type_id.code' string='Doc Type'
  • l10n_latam_manual_document_number Boolean
    compute='_compute_l10n_latam_manual_document_number' string='Manual Number'
  • l10n_latam_use_documents Boolean
    compute='_compute_l10n_latam_use_documents' search='_search_l10n_latam_use_documents'
Public methods (0)

No public methods.

New fields (2)
  • l10n_latam_document_type_id Many2one
    bypass_search_access=True index='btree_not_null' related='move_id.l10n_latam_document_type_id' store=True
  • l10n_latam_use_documents Boolean
    related='move_id.l10n_latam_use_documents'
Public methods (0)

No public methods.

New fields (5)
  • l10n_latam_available_document_type_ids Many2many → l10n_latam.document.type
    compute='_compute_documents_info' args: 'l10n_latam.document.type'
  • l10n_latam_document_number Char
    string='Document Number'
  • l10n_latam_document_type_id Many2one → l10n_latam.document.type
    compute='_compute_document_type' domain="[('id', 'in', l10n_latam_available_document_type_ids)]" ondelete='cascade' readonly=False store=True args: 'l10n_latam.document.type', 'Document Type'
  • l10n_latam_manual_document_number Boolean
    compute='_compute_l10n_latam_manual_document_number' string='Manual Number'
  • l10n_latam_use_documents Boolean
    compute='_compute_documents_info'
Public methods (0)

No public methods.

New fields (8)
  • active Boolean
    default=True
  • code Char
    help='Code used by different localizations'
  • country_id Many2one → res.country
    help='Country in which this type of document is valid' index=True required=True args: 'res.country'
  • doc_code_prefix Char
    help="Prefix for Documents Codes on Invoices and Account Moves. For eg. 'FA ' will build 'FA 0001-0000001' Document Number" args: 'Document Code Prefix'
  • internal_type Selection
    help='Analog to odoo account.move.move_type but with more options allowing to identify the kind of document we are working with. (not only related to account.move, could be for documents of other models like stock.picking)' args: [('invoice', 'Invoices'), ('debit_note', 'Debit Notes'), ('credit_note', 'Credit Notes'), ('all', 'All Documents')]
  • name Char
    help='The document name' required=True translate=True
  • report_name Char
    help='Name that will be printed in reports, for example "CREDIT NOTE"' translate=True args: 'Name on Reports'
  • sequence Integer
    default=10 help='To set in which order show the documents type taking into account the most commonly used first' required=True
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…