Argentina - Accounting

l10n_ar
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/l10n_ar
VERSION
VERSION 3.7
CATEGORY
CATEGORYAccounting/Localizations/Account Charts
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSADHOC SA
MAINTAINERS
MAINTAINERSADHOC SA
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Josse Colpaert, Xavier Morel, Joren Van Onder, Nicolas Lempereur, Laurent Smet, Anh Thao Pham (pta), Katherine Zaoral, Tiffany Chang (tic), Gorash, Miquel Raïch, william-andre, John Laterre (jol), jbw-odoo, Habib (ayh), Maximilien (malb), Thomas Becquevort (thbe), Andrew Gavgavian, Pablo Montenegro, Yosua Nicolaus, Levi Siuzdak (sile), Naman Shah, Antoine Boonen, Dylan Kiss (dyki), Xavier Bol (xbo), Arnaud Sibille, Nicolas Viseur (vin), guva-odoo, reka-odoo, yosa-odoo, kcv-odoo, Mathieu Coutant, Claire (clbr), gteboul, Julia Elizondo, Antoine Dupuis, Hesham Saleh, AhmedElemary57, Mohammad Abdulmoneim (abdu), Michaël Mattiello, Anton Romanova (roan), masm-odoo, Krzysztof Magusiak (krma), devp-odoo, Ajit Singh, krip-odoo, bhra-odoo, igbe, Laurent Smet (LAS), Nisarg (nipl), Felipe Garcia Suez, Yosua Nicolaus (yoni), soza-odoo
WEBSITE
WEBSITEhttps://www.odoo.com/documentation/latest/applications/finance/fiscal_localizations/argentina.html
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:51:40
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_latam_invoice_document
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
    - account_debit_note
    - l10n_latam_base
    - contacts
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Functional
----------

This module add accounting features for the Argentinean localization, which represent the minimal configuration needed for a company  to operate in Argentina and under the ARCA (Administración Federal de Ingresos Públicos) regulations and guidelines.

Follow the next configuration steps for Production:

1. Go to your company and configure your VAT number and ARCA Responsibility Type
2. Go to Accounting / Settings and set the Chart of Account that you will like to use.
3. Create your Sale journals taking into account ARCA POS info.

Demo data for testing:

* 3 companies were created, one for each ARCA responsibility type with the respective Chart of Account installed. Choose the company that fix you in order to make tests:

  * (AR) Responsable Inscripto
  * (AR) Exento
  * (AR) Monotributo

* Journal sales configured to Pre printed and Expo invoices in all companies
* Invoices and other documents examples already validated in “(AR) Responsable Inscripto” company
* Partners example for the different responsibility types:

  * ADHOC (IVA Responsable Inscripto)
  * Servicios Globales (IVA Sujeto Exento)
  * Gritti (Monotributo)
  * Montana Sur. IVA Liberado in Zona Franca
  * Barcelona food (Cliente del Exterior)
  * Odoo (Proveedor del Exterior)

Highlights:

* Chart of account will not be automatically installed, each CoA Template depends on the ARCA Responsibility of the company, you will need to install the CoA for your needs.
* No sales journals will be generated when installing a CoA, you will need to configure your journals manually.
* The Document type will be properly pre selected when creating an invoice depending on the fiscal responsibility of the issuer and receiver of the document and the related journal.
* A CBU account type has been added and also CBU Validation


Technical
---------

This module adds both models and fields that will be eventually used for the electronic invoice module. Here is a summary of the main features:

Master Data:

* Chart of Account: one for each ARCA responsibility that is related to a legal entity:

  * Responsable Inscripto (RI)
  * Exento (EX)
  * Monotributo (Mono)

* Argentinean Taxes and Account Tax Groups (VAT taxes with the existing aliquots and other types)
* ARCA Responsibility Types
* Fiscal Positions (in order to map taxes)
* Legal Documents Types in Argentina
* Identification Types valid in Argentina.
* Country ARCA codes and Country VAT codes for legal entities, natural persons and others
* Currency ARCA codes
* Unit of measures ARCA codes
* Partners: Consumidor Final and ARCA

Code Analysis

Views touched (25)
XML IDNameModelTypeStatus
address_form_fields address_form_fields ir.ui.view qweb Inherits portal.address_form_fields
base_view_partner_form res.partner.form res.partner xpath Inherits l10n_latam_base.view_partner_latam_form
custom_header custom_header ir.ui.view qweb New
document_tax_totals document_tax_totals ir.ui.view qweb Inherits account.document_tax_totals
product_uom_form_view uom.uom.form uom.uom div Inherits uom.product_uom_form_view
product_uom_tree_view uom.uom.list uom.uom list Inherits uom.product_uom_tree_view
report_invoice report_invoice ir.ui.view qweb Inherits account.report_invoice
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
res_config_settings_view_form res.config.settings.view.form res.config.settings xpath Inherits account.res_config_settings_view_form
view_account_invoice_report_search_inherit account.invoice.report.search account.invoice.report search Inherits account.view_account_invoice_report_search
view_account_journal_form account.journal.form account.journal field Inherits l10n_latam_invoice_document.view_account_journal_form
view_account_move_filter account.move.filter account.move field Inherits account.view_account_move_filter
view_account_position_form account.fiscal.position.form account.fiscal.position field Inherits account.view_account_position_form
view_afip_responsibility_type_form afip.responsibility.type.form l10n_ar.afip.responsibility.type form New
view_afip_responsibility_type_tree afip.responsibility.type.list l10n_ar.afip.responsibility.type list New
view_company_form res.company.form.inherit res.company field Inherits base.view_company_form
view_currency_form res.currency.form res.currency field Inherits base.view_currency_form
view_document_type_filter l10n_latam.document.type.filter l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_filter
view_document_type_form l10n_latam.document.type.form l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_form
view_document_type_tree l10n_latam.document.type.list l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_tree
view_move_form account.move.form account.move group Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner field Inherits account.view_partner_property_form
view_res_country_form res.country.form res.country field Inherits base.view_country_form
view_res_country_tree res.country.list res.country field Inherits base.view_country_tree
view_res_partner_filter view.res.partner.filter.inherit res.partner field Inherits base.view_res_partner_filter
Models touched (20)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • try_loading(self, template_code, company, install_demo=False, force_create=True)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_responsibility_type_ids Many2many → l10n_ar.afip.responsibility.type
    help='List of ARCA responsibilities where this fiscal position should be auto-detected' string='ARCA Responsibility Types' args: 'l10n_ar.afip.responsibility.type', 'l10n_ar_afip_reponsibility_type_fiscal_pos_rel'
Public methods (0)

No public methods.

New fields (2)
  • date Date
    readonly=True string='Accounting Date'
  • l10n_ar_state_id Many2one → res.country.state
    readonly=True args: 'res.country.state', 'Delivery Province'
Public methods (0)

No public methods.

New fields (5)
  • company_partner Many2one → res.partner
    related='company_id.partner_id' args: 'res.partner'
  • l10n_ar_afip_pos_number Integer
    help='This is the point of sale number assigned by ARCA in order to generate invoices' args: 'ARCA POS Number'
  • l10n_ar_afip_pos_partner_id Many2one → res.partner
    domain="['|', ('id', '=', company_partner), '&', ('id', 'child_of', company_partner), ('type', '!=', 'contact')]" help='This is the address used for invoice reports of this POS' args: 'res.partner', 'ARCA POS Address'
  • l10n_ar_afip_pos_system Selection
    compute='_compute_l10n_ar_afip_pos_system' help='Argentina: Specify which type of system will be used to create the electronic invoice. This will depend on the type of invoice to be created.' readonly=False selection='_get_l10n_ar_afip_pos_types_selection' store=True string='ARCA POS System'
  • l10n_ar_is_pos Boolean
    compute='_compute_l10n_ar_is_pos' help='Argentina: Specify if this Journal will be used to send electronic invoices to ARCA.' readonly=False store=True string='Is ARCA POS?'
Public methods (1)
  • write(self, vals)

New fields (4)
  • l10n_ar_afip_concept Selection
    compute='_compute_l10n_ar_afip_concept' help='A concept is suggested regarding the type of the products on the invoice.' selection='_get_afip_invoice_concepts' string='ARCA Concept'
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by ARCA to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' string='ARCA Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_afip_service_end Date
    string='ARCA Service End Date'
  • l10n_ar_afip_service_start Date
    string='ARCA Service Start Date'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_column_to_exclude_for_colspan_calculation(self, taxes=None)

New fields (2)
  • l10n_ar_tribute_afip_code Selection
    index=True readonly=True string='Tribute ARCA Code' args: [('01', '01 - National Taxes'), ('02', '02 - Provincial Taxes'), ('03', '03 - Municipal Taxes'), ('04', '04 - Internal Taxes'), ('06', '06 - VAT perception'), ('07', '07 - IIBB perception'), ('08', '08 - Municipal Taxes Perceptions'), ('09', '09 - Other Perceptions'), ('99', '99 - Others')]
  • l10n_ar_vat_afip_code Selection
    index=True readonly=True string='VAT ARCA Code' args: [('0', 'Not Applicable'), ('1', 'Untaxed'), ('2', 'Exempt'), ('3', '0%'), ('4', '10.5%'), ('5', '21%'), ('6', '27%'), ('8', '5%'), ('9', '2,5%')]
Public methods (1)
  • check_uninstall_required(self)
    @api.ondelete(at_uninstall=False)
    Make sure we don't uninstall a required tax group

New fields (4)
  • active Boolean
    default=True
  • code Char
    index=True required=True
  • name Char
    index='trigram' required=True
  • sequence Integer
Public methods (0)

No public methods.

New fields (2)
  • l10n_ar_letter Selection
    help='Letters defined by the ARCA that can be used to identify the documents presented to the government and that depends on the operation type, the responsibility of both the issuer and the receptor of the document' selection='_get_l10n_ar_letters' string='Letters'
  • purchase_aliquots Selection
    help='Raise an error if a vendor bill is miss encoded. "Not Zero" means the VAT taxes are required for the invoices related to this document type, and those with "Zero" means that only "VAT Not Applicable" tax is allowed.' args: [('not_zero', 'Not Zero'), ('zero', 'Zero')]
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    args: 'ARCA Code'
Public methods (0)

No public methods.

New fields (5)
  • l10n_ar_afip_responsibility_type_id Many2one
    domain="[('code', 'in', [1, 4, 6])]" readonly=False related='partner_id.l10n_ar_afip_responsibility_type_id'
  • l10n_ar_afip_start_date Date
    args: 'Activities Start'
  • l10n_ar_company_requires_vat Boolean
    compute='_compute_l10n_ar_company_requires_vat' string='Company Requires Vat?'
  • l10n_ar_gross_income_number Char
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_number' string='Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_type' string='Gross Income'
Public methods (2)
  • onchange_country(self)
    @api.onchange('country_id')
    Argentinean companies use round_globally as tax_calculation_rounding_method
  • write(self, vals)

New fields (4)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=3 args: 'ARCA Code'
  • l10n_ar_legal_entity_vat Char
    help='Generic VAT number defined by ARCA in order to recognize partners from this country that are legal entity' size=11 args: 'Legal Entity VAT'
  • l10n_ar_natural_vat Char
    help='Generic VAT number defined by ARCA in order to recognize partners from this country that are natural persons' size=11 args: 'Natural Person VAT'
  • l10n_ar_other_vat Char
    help='Generic VAT number defined by ARCA in order to recognize partners from this country that are not natural persons or legal entities' size=11 args: 'Other VAT'
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=4 args: 'ARCA Code'
Public methods (0)

No public methods.

New fields (5)
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by ARCA to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' index='btree_not_null' string='ARCA Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_formatted_vat Char
    compute='_compute_l10n_ar_formatted_vat' help='Computed field that will convert the given VAT number to the format {person_category:2}-{number:10}-{validation_number:1}' string='Formatted VAT'
  • l10n_ar_gross_income_number Char
    args: 'Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='Argentina: Type of gross income: exempt, local, multilateral.' args: [('multilateral', 'Multilateral'), ('local', 'Local'), ('exempt', 'Exempt')], 'Gross Income Type'
  • l10n_ar_vat Char
    compute='_compute_l10n_ar_vat' help='Computed field that returns VAT or nothing if this one is not set for the partner' string='VAT'
Public methods (1)
  • ensure_vat(self)
    This method is a helper that returns the VAT number is this one is defined if not raise an UserError. VAT is not mandatory field but for some Argentinean operations the VAT is required, for eg validate an electronic invoice, build a report, etc. This method can be used to validate is the VAT is proper defined in the partner

New fields (0)

No new fields.

Public methods (1)
  • retrieve_acc_type(self, acc_number)
    @api.model

New fields (1)
  • l10n_ar_afip_code Char
    help='Argentina: This code will be used on electronic invoice.' args: 'Code'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/18.0/l10n_ar
VERSION
VERSION 3.7
CATEGORY
CATEGORYAccounting/Localizations/Account Charts
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSADHOC SA
MAINTAINERS
MAINTAINERSADHOC SA
COMMITTERS
COMMITTERSOdoo Translation Bot, Josse Colpaert, Xavier Morel, Joren Van Onder, Yannick Tivisse, Laurent Smet, Arnold Moyaux, Andrea Grazioso (agr-odoo), Anh Thao Pham (pta), Katherine Zaoral, Prakash Prajapati, Tiffany Chang (tic), Rémy Voet (ryv), Gorash, odoo, william-andre, aliya, Vincent Larcin, jbw-odoo, Louis Wicket (wil), Thomas Becquevort (thbe), Gauthier Wala (gawa), Andrew Gavgavian, Pablo Montenegro, Yosua Nicolaus, Levi Siuzdak (sile), Antoine Dupuis (andu), Antoine Boonen, Dylan Kiss (dyki), Julien Alardot (jual), sovi-odoo, Harsh Modi, Arnaud Sibille, Mahdi Cheikh Rouhou (macr), guva-odoo, OmarAbosamaha, lase@odoo.com, reka-odoo, Sven Fuehr, yosa-odoo, kcv-odoo, Louis (wil), mano-odoo, Mathieu Coutant, Claire (clbr), gteboul, Maximiliano Mezzavilla, Julia Elizondo, Antoine Dupuis, AhmedElemary57, Anton Romanova (roan), Juan José Scarafia, Felipe Garcia Suez, Yosua Nicolaus (yoni), “Victoria
WEBSITE
WEBSITEhttps://www.odoo.com/documentation/master/applications/finance/fiscal_localizations/argentina.html
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:25:53
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_latam_invoice_document
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - account_debit_note
    - l10n_latam_base
    - contacts
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Functional
----------

This module add accounting features for the Argentinean localization, which represent the minimal configuration needed for a company  to operate in Argentina and under the AFIP (Administración Federal de Ingresos Públicos) regulations and guidelines.

Follow the next configuration steps for Production:

1. Go to your company and configure your VAT number and AFIP Responsibility Type
2. Go to Accounting / Settings and set the Chart of Account that you will like to use.
3. Create your Sale journals taking into account AFIP POS info.

Demo data for testing:

* 3 companies were created, one for each AFIP responsibility type with the respective Chart of Account installed. Choose the company that fix you in order to make tests:

  * (AR) Responsable Inscripto
  * (AR) Exento
  * (AR) Monotributo

* Journal sales configured to Pre printed and Expo invoices in all companies
* Invoices and other documents examples already validated in “(AR) Responsable Inscripto” company
* Partners example for the different responsibility types:

  * ADHOC (IVA Responsable Inscripto)
  * Servicios Globales (IVA Sujeto Exento)
  * Gritti (Monotributo)
  * Montana Sur. IVA Liberado in Zona Franca
  * Barcelona food (Cliente del Exterior)
  * Odoo (Proveedor del Exterior)

Highlights:

* Chart of account will not be automatically installed, each CoA Template depends on the AFIP Responsibility of the company, you will need to install the CoA for your needs.
* No sales journals will be generated when installing a CoA, you will need to configure your journals manually.
* The Document type will be properly pre selected when creating an invoice depending on the fiscal responsibility of the issuer and receiver of the document and the related journal.
* A CBU account type has been added and also CBU Validation


Technical
---------

This module adds both models and fields that will be eventually used for the electronic invoice module. Here is a summary of the main features:

Master Data:

* Chart of Account: one for each AFIP responsibility that is related to a legal entity:

  * Responsable Inscripto (RI)
  * Exento (EX)
  * Monotributo (Mono)

* Argentinean Taxes and Account Tax Groups (VAT taxes with the existing aliquots and other types)
* AFIP Responsibility Types
* Fiscal Positions (in order to map taxes)
* Legal Documents Types in Argentina
* Identification Types valid in Argentina.
* Country AFIP codes and Country VAT codes for legal entities, natural persons and others
* Currency AFIP codes
* Unit of measures AFIP codes
* Partners: Consumidor Final and AFIP

Code Analysis

Views touched (25)
XML IDNameModelTypeStatus
base_view_partner_form res.partner.form res.partner xpath Inherits l10n_latam_base.view_partner_latam_form
custom_header custom_header ir.ui.view qweb New
document_tax_totals document_tax_totals ir.ui.view qweb Inherits account.document_tax_totals
product_uom_categ_form_view uom.category.form uom.category field Inherits uom.product_uom_categ_form_view
product_uom_form_view uom.uom.form uom.uom field Inherits uom.product_uom_form_view
product_uom_tree_view uom.uom.list uom.uom list Inherits uom.product_uom_tree_view
report_invoice report_invoice ir.ui.view qweb Inherits account.report_invoice
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
res_config_settings_view_form res.config.settings.view.form res.config.settings xpath Inherits account.res_config_settings_view_form
view_account_invoice_report_search_inherit account.invoice.report.search account.invoice.report search Inherits account.view_account_invoice_report_search
view_account_journal_form account.journal.form account.journal field Inherits l10n_latam_invoice_document.view_account_journal_form
view_account_move_filter account.move.filter account.move field Inherits account.view_account_move_filter
view_account_position_form account.fiscal.position.form account.fiscal.position field Inherits account.view_account_position_form
view_afip_responsibility_type_form afip.responsibility.type.form l10n_ar.afip.responsibility.type form New
view_afip_responsibility_type_tree afip.responsibility.type.list l10n_ar.afip.responsibility.type list New
view_company_form res.company.form.inherit res.company field Inherits base.view_company_form
view_currency_form res.currency.form res.currency field Inherits base.view_currency_form
view_document_type_filter l10n_latam.document.type.filter l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_filter
view_document_type_form l10n_latam.document.type.form l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_form
view_document_type_tree l10n_latam.document.type.list l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_tree
view_move_form account.move.form account.move group Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner field Inherits account.view_partner_property_form
view_res_country_form res.country.form res.country field Inherits base.view_country_form
view_res_country_tree res.country.list res.country field Inherits base.view_country_tree
view_res_partner_filter view.res.partner.filter.inherit res.partner field Inherits base.view_res_partner_filter
Models touched (20)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • try_loading(self, template_code, company, install_demo=False, force_create=True)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_responsibility_type_ids Many2many → l10n_ar.afip.responsibility.type
    help='List of AFIP responsibilities where this fiscal position should be auto-detected' string='AFIP Responsibility Types' args: 'l10n_ar.afip.responsibility.type', 'l10n_ar_afip_reponsibility_type_fiscal_pos_rel'
Public methods (0)

No public methods.

New fields (2)
  • date Date
    readonly=True string='Accounting Date'
  • l10n_ar_state_id Many2one → res.country.state
    readonly=True args: 'res.country.state', 'Delivery Province'
Public methods (0)

No public methods.

New fields (5)
  • company_partner Many2one → res.partner
    related='company_id.partner_id' args: 'res.partner'
  • l10n_ar_afip_pos_number Integer
    help='This is the point of sale number assigned by AFIP in order to generate invoices' args: 'AFIP POS Number'
  • l10n_ar_afip_pos_partner_id Many2one → res.partner
    domain="['|', ('id', '=', company_partner), '&', ('id', 'child_of', company_partner), ('type', '!=', 'contact')]" help='This is the address used for invoice reports of this POS' args: 'res.partner', 'AFIP POS Address'
  • l10n_ar_afip_pos_system Selection
    compute='_compute_l10n_ar_afip_pos_system' help='Argentina: Specify which type of system will be used to create the electronic invoice. This will depend on the type of invoice to be created.' readonly=False selection='_get_l10n_ar_afip_pos_types_selection' store=True string='AFIP POS System'
  • l10n_ar_is_pos Boolean
    compute='_compute_l10n_ar_is_pos' help='Argentina: Specify if this Journal will be used to send electronic invoices to AFIP.' readonly=False store=True string='Is AFIP POS?'
Public methods (1)
  • write(self, vals)

New fields (4)
  • l10n_ar_afip_concept Selection
    compute='_compute_l10n_ar_afip_concept' help='A concept is suggested regarding the type of the products on the invoice.' selection='_get_afip_invoice_concepts' string='AFIP Concept'
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by AFIP to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' string='AFIP Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_afip_service_end Date
    string='AFIP Service End Date'
  • l10n_ar_afip_service_start Date
    string='AFIP Service Start Date'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • l10n_ar_tribute_afip_code Selection
    index=True readonly=True string='Tribute AFIP Code' args: [('01', '01 - National Taxes'), ('02', '02 - Provincial Taxes'), ('03', '03 - Municipal Taxes'), ('04', '04 - Internal Taxes'), ('06', '06 - VAT perception'), ('07', '07 - IIBB perception'), ('08', '08 - Municipal Taxes Perceptions'), ('09', '09 - Other Perceptions'), ('99', '99 - Others')]
  • l10n_ar_vat_afip_code Selection
    index=True readonly=True string='VAT AFIP Code' args: [('0', 'Not Applicable'), ('1', 'Untaxed'), ('2', 'Exempt'), ('3', '0%'), ('4', '10.5%'), ('5', '21%'), ('6', '27%'), ('8', '5%'), ('9', '2,5%')]
Public methods (1)
  • check_uninstall_required(self)
    @api.ondelete(at_uninstall=False)
    Make sure we don't uninstall a required tax group

New fields (4)
  • active Boolean
    default=True
  • code Char
    index=True required=True
  • name Char
    index='trigram' required=True
  • sequence Integer
Public methods (0)

No public methods.

New fields (2)
  • l10n_ar_letter Selection
    help='Letters defined by the AFIP that can be used to identify the documents presented to the government and that depends on the operation type, the responsibility of both the issuer and the receptor of the document' selection='_get_l10n_ar_letters' string='Letters'
  • purchase_aliquots Selection
    help='Raise an error if a vendor bill is miss encoded. "Not Zero" means the VAT taxes are required for the invoices related to this document type, and those with "Zero" means that only "VAT Not Applicable" tax is allowed.' args: [('not_zero', 'Not Zero'), ('zero', 'Zero')]
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    args: 'AFIP Code'
Public methods (0)

No public methods.

New fields (5)
  • l10n_ar_afip_responsibility_type_id Many2one
    domain="[('code', 'in', [1, 4, 6])]" readonly=False related='partner_id.l10n_ar_afip_responsibility_type_id'
  • l10n_ar_afip_start_date Date
    args: 'Activities Start'
  • l10n_ar_company_requires_vat Boolean
    compute='_compute_l10n_ar_company_requires_vat' string='Company Requires Vat?'
  • l10n_ar_gross_income_number Char
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_number' string='Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_type' string='Gross Income'
Public methods (2)
  • onchange_country(self)
    @api.onchange('country_id')
    Argentinean companies use round_globally as tax_calculation_rounding_method
  • write(self, vals)

New fields (4)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=3 args: 'AFIP Code'
  • l10n_ar_legal_entity_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are legal entity' size=11 args: 'Legal Entity VAT'
  • l10n_ar_natural_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are natural persons' size=11 args: 'Natural Person VAT'
  • l10n_ar_other_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are not natural persons or legal entities' size=11 args: 'Other VAT'
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=4 args: 'AFIP Code'
Public methods (0)

No public methods.

New fields (5)
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by AFIP to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' index='btree_not_null' string='AFIP Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_formatted_vat Char
    compute='_compute_l10n_ar_formatted_vat' help='Computed field that will convert the given VAT number to the format {person_category:2}-{number:10}-{validation_number:1}' string='Formatted VAT'
  • l10n_ar_gross_income_number Char
    args: 'Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='Argentina: Type of gross income: exempt, local, multilateral.' args: [('multilateral', 'Multilateral'), ('local', 'Local'), ('exempt', 'Exempt')], 'Gross Income Type'
  • l10n_ar_vat Char
    compute='_compute_l10n_ar_vat' help='Computed field that returns VAT or nothing if this one is not set for the partner' string='VAT'
Public methods (3)
  • check_vat(self)
    @api.constrains('vat', 'l10n_latam_identification_type_id')
    Since we validate more documents than the vat for Argentinean partners (CUIT - VAT AR, CUIL, DNI) we extend this method in order to process it.
  • ensure_vat(self)
    This method is a helper that returns the VAT number is this one is defined if not raise an UserError. VAT is not mandatory field but for some Argentinean operations the VAT is required, for eg validate an electronic invoice, build a report, etc. This method can be used to validate is the VAT is proper defined in the partner
  • l10n_ar_identification_validation(self)

New fields (0)

No new fields.

Public methods (1)
  • retrieve_acc_type(self, acc_number)
    @api.model

New fields (1)
  • l10n_ar_afip_code Char
    help='Argentina: This code will be used on electronic invoice.' args: 'Code'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/17.0/l10n_ar
VERSION
VERSION 3.7
CATEGORY
CATEGORYAccounting/Localizations/Account Charts
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSADHOC SA
MAINTAINERS
MAINTAINERSADHOC SA
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Josse Colpaert, Xavier Morel, qdp-odoo, Géry Debongnie, Laurent Smet, Jorge Pinna Puissant, Andrea Grazioso (agr-odoo), Anh Thao Pham (pta), Katherine Zaoral, Prakash Prajapati, Tiffany Chang (tic), Gorash, momegahed, Ricardo Gomes Rodrigues (rigr), Nicolas (vin), william-andre, bat-odoo, Antoine Vandevenne (anv), Jinjiu Liu, gawa-odoo, Florian(flg), niyasraphy, jbw-odoo, Louis Wicket (wil), Maximilien (malb), Daniel Kosky (dako), Andrew Gavgavian, Claire Bretton (clbr), Pablo Montenegro, Yosua Nicolaus, Antoine Dupuis (andu), Antoine Boonen, Dylan Kiss (dyki), Julien Alardot (jual), Michael (mcm), sovi-odoo, Arnaud Sibille, Mahdi Cheikh Rouhou (macr), Corentin Thaon (thco), guva-odoo, OmarAbosamaha, lase@odoo.com, yosa-odoo, moerradi, Claire (clbr), gteboul, Julia Elizondo, Pierre Pulinckx (pipu), Bastien PIERRE, Pulinckx Pierre (PIPU), Sohail JAIDI (soja)
WEBSITE
WEBSITEhttps://www.odoo.com/documentation/17.0/applications/finance/fiscal_localizations/argentina.html
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:02:05
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_latam_invoice_document
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - account_debit_note
    - l10n_latam_base
    - contacts
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Functional
----------

This module add accounting features for the Argentinean localization, which represent the minimal configuration needed for a company  to operate in Argentina and under the AFIP (Administración Federal de Ingresos Públicos) regulations and guidelines.

Follow the next configuration steps for Production:

1. Go to your company and configure your VAT number and AFIP Responsibility Type
2. Go to Accounting / Settings and set the Chart of Account that you will like to use.
3. Create your Sale journals taking into account AFIP POS info.

Demo data for testing:

* 3 companies were created, one for each AFIP responsibility type with the respective Chart of Account installed. Choose the company that fix you in order to make tests:

  * (AR) Responsable Inscripto
  * (AR) Exento
  * (AR) Monotributo

* Journal sales configured to Pre printed and Expo invoices in all companies
* Invoices and other documents examples already validated in “(AR) Responsable Inscripto” company
* Partners example for the different responsibility types:

  * ADHOC (IVA Responsable Inscripto)
  * Servicios Globales (IVA Sujeto Exento)
  * Gritti (Monotributo)
  * Montana Sur. IVA Liberado in Zona Franca
  * Barcelona food (Cliente del Exterior)
  * Odoo (Proveedor del Exterior)

Highlights:

* Chart of account will not be automatically installed, each CoA Template depends on the AFIP Responsibility of the company, you will need to install the CoA for your needs.
* No sales journals will be generated when installing a CoA, you will need to configure your journals manually.
* The Document type will be properly pre selected when creating an invoice depending on the fiscal responsibility of the issuer and receiver of the document and the related journal.
* A CBU account type has been added and also CBU Validation


Technical
---------

This module adds both models and fields that will be eventually used for the electronic invoice module. Here is a summary of the main features:

Master Data:

* Chart of Account: one for each AFIP responsibility that is related to a legal entity:

  * Responsable Inscripto (RI)
  * Exento (EX)
  * Monotributo (Mono)

* Argentinean Taxes and Account Tax Groups (VAT taxes with the existing aliquots and other types)
* AFIP Responsibility Types
* Fiscal Positions (in order to map taxes)
* Legal Documents Types in Argentina
* Identification Types valid in Argentina.
* Country AFIP codes and Country VAT codes for legal entities, natural persons and others
* Currency AFIP codes
* Unit of measures AFIP codes
* Partners: Consumidor Final and AFIP

Code Analysis

Views touched (25)
XML IDNameModelTypeStatus
base_view_partner_form res.partner.form res.partner xpath Inherits l10n_latam_base.view_partner_latam_form
custom_header custom_header ir.ui.view qweb New
document_tax_totals document_tax_totals ir.ui.view qweb Inherits account.document_tax_totals
product_uom_categ_form_view uom.category.form uom.category field Inherits uom.product_uom_categ_form_view
product_uom_form_view uom.uom.form uom.uom field Inherits uom.product_uom_form_view
product_uom_tree_view uom.uom.tree uom.uom tree Inherits uom.product_uom_tree_view
report_invoice report_invoice ir.ui.view qweb Inherits account.report_invoice
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
res_config_settings_view_form res.config.settings.view.form res.config.settings xpath Inherits account.res_config_settings_view_form
view_account_invoice_report_search_inherit account.invoice.report.search account.invoice.report search Inherits account.view_account_invoice_report_search
view_account_journal_form account.journal.form account.journal field Inherits l10n_latam_invoice_document.view_account_journal_form
view_account_move_filter account.move.filter account.move field Inherits account.view_account_move_filter
view_account_position_form account.fiscal.position.form account.fiscal.position field Inherits account.view_account_position_form
view_afip_responsibility_type_form afip.responsibility.type.form l10n_ar.afip.responsibility.type form New
view_afip_responsibility_type_tree afip.responsibility.type.tree l10n_ar.afip.responsibility.type tree New
view_company_form res.company.form.inherit res.company field Inherits base.view_company_form
view_currency_form res.currency.form res.currency field Inherits base.view_currency_form
view_document_type_filter l10n_latam.document.type.filter l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_filter
view_document_type_form l10n_latam.document.type.form l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_form
view_document_type_tree l10n_latam.document.type.tree l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_tree
view_move_form account.move.form account.move group Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner xpath Inherits account.view_partner_property_form
view_res_country_form res.country.form res.country field Inherits base.view_country_form
view_res_country_tree res.country.tree res.country field Inherits base.view_country_tree
view_res_partner_filter view.res.partner.filter.inherit res.partner field Inherits base.view_res_partner_filter
Models touched (20)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_responsibility_type_ids Many2many → l10n_ar.afip.responsibility.type
    help='List of AFIP responsibilities where this fiscal position should be auto-detected' string='AFIP Responsibility Types' args: 'l10n_ar.afip.responsibility.type', 'l10n_ar_afip_reponsibility_type_fiscal_pos_rel'
Public methods (0)

No public methods.

New fields (2)
  • date Date
    readonly=True string='Accounting Date'
  • l10n_ar_state_id Many2one → res.country.state
    readonly=True args: 'res.country.state', 'Delivery Province'
Public methods (0)

No public methods.

New fields (5)
  • company_partner Many2one → res.partner
    related='company_id.partner_id' args: 'res.partner'
  • l10n_ar_afip_pos_number Integer
    help='This is the point of sale number assigned by AFIP in order to generate invoices' args: 'AFIP POS Number'
  • l10n_ar_afip_pos_partner_id Many2one → res.partner
    domain="['|', ('id', '=', company_partner), '&', ('id', 'child_of', company_partner), ('type', '!=', 'contact')]" help='This is the address used for invoice reports of this POS' args: 'res.partner', 'AFIP POS Address'
  • l10n_ar_afip_pos_system Selection
    compute='_compute_l10n_ar_afip_pos_system' help='Argentina: Specify which type of system will be used to create the electronic invoice. This will depend on the type of invoice to be created.' readonly=False selection='_get_l10n_ar_afip_pos_types_selection' store=True string='AFIP POS System'
  • l10n_ar_is_pos Boolean
    compute='_compute_l10n_ar_is_pos' help='Argentina: Specify if this Journal will be used to send electronic invoices to AFIP.' readonly=False store=True string='Is AFIP POS?'
Public methods (1)
  • write(self, vals)

New fields (5)
  • l10n_ar_afip_concept Selection
    compute='_compute_l10n_ar_afip_concept' help='A concept is suggested regarding the type of the products on the invoice but it is allowed to force a different type if required.' selection='_get_afip_invoice_concepts' string='AFIP Concept'
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by AFIP to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' string='AFIP Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_afip_service_end Date
    string='AFIP Service End Date'
  • l10n_ar_afip_service_start Date
    string='AFIP Service Start Date'
  • l10n_ar_currency_rate Float
    copy=False readonly=True string='Currency Rate'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • l10n_ar_tribute_afip_code Selection
    index=True readonly=True string='Tribute AFIP Code' args: [('01', '01 - National Taxes'), ('02', '02 - Provincial Taxes'), ('03', '03 - Municipal Taxes'), ('04', '04 - Internal Taxes'), ('06', '06 - VAT perception'), ('07', '07 - IIBB perception'), ('08', '08 - Municipal Taxes Perceptions'), ('09', '09 - Other Perceptions'), ('99', '99 - Others')]
  • l10n_ar_vat_afip_code Selection
    index=True readonly=True string='VAT AFIP Code' args: [('0', 'Not Applicable'), ('1', 'Untaxed'), ('2', 'Exempt'), ('3', '0%'), ('4', '10.5%'), ('5', '21%'), ('6', '27%'), ('8', '5%'), ('9', '2,5%')]
Public methods (1)
  • check_uninstall_required(self)
    @api.ondelete(at_uninstall=False)
    Make sure we don't uninstall a required tax group

New fields (4)
  • active Boolean
    default=True
  • code Char
    index=True required=True
  • name Char
    index='trigram' required=True
  • sequence Integer
Public methods (0)

No public methods.

New fields (2)
  • l10n_ar_letter Selection
    help='Letters defined by the AFIP that can be used to identify the documents presented to the government and that depends on the operation type, the responsibility of both the issuer and the receptor of the document' selection='_get_l10n_ar_letters' string='Letters'
  • purchase_aliquots Selection
    help='Raise an error if a vendor bill is miss encoded. "Not Zero" means the VAT taxes are required for the invoices related to this document type, and those with "Zero" means that only "VAT Not Applicable" tax is allowed.' args: [('not_zero', 'Not Zero'), ('zero', 'Zero')]
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    args: 'AFIP Code'
Public methods (0)

No public methods.

New fields (5)
  • l10n_ar_afip_responsibility_type_id Many2one
    domain="[('code', 'in', [1, 4, 6])]" readonly=False related='partner_id.l10n_ar_afip_responsibility_type_id'
  • l10n_ar_afip_start_date Date
    args: 'Activities Start'
  • l10n_ar_company_requires_vat Boolean
    compute='_compute_l10n_ar_company_requires_vat' string='Company Requires Vat?'
  • l10n_ar_gross_income_number Char
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_number' string='Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_type' string='Gross Income'
Public methods (2)
  • onchange_country(self)
    @api.onchange('country_id')
    Argentinean companies use round_globally as tax_calculation_rounding_method
  • write(self, vals)

New fields (4)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=3 args: 'AFIP Code'
  • l10n_ar_legal_entity_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are legal entity' size=11 args: 'Legal Entity VAT'
  • l10n_ar_natural_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are natural persons' size=11 args: 'Natural Person VAT'
  • l10n_ar_other_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are not natural persons or legal entities' size=11 args: 'Other VAT'
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=4 args: 'AFIP Code'
Public methods (0)

No public methods.

New fields (6)
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by AFIP to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' index='btree_not_null' string='AFIP Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_formatted_vat Char
    compute='_compute_l10n_ar_formatted_vat' help='Computed field that will convert the given VAT number to the format {person_category:2}-{number:10}-{validation_number:1}' string='Formatted VAT'
  • l10n_ar_gross_income_number Char
    args: 'Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='Argentina: Type of gross income: exempt, local, multilateral.' args: [('multilateral', 'Multilateral'), ('local', 'Local'), ('exempt', 'Exempt')], 'Gross Income Type'
  • l10n_ar_special_purchase_document_type_ids Many2many → l10n_latam.document.type
    help='This field will be deprecated in the next version as it is no longer needed.' string='Other Purchase Documents' args: 'l10n_latam.document.type', 'res_partner_document_type_rel', 'partner_id', 'document_type_id'
  • l10n_ar_vat Char
    compute='_compute_l10n_ar_vat' help='Computed field that returns VAT or nothing if this one is not set for the partner' string='VAT'
Public methods (3)
  • check_vat(self)
    @api.constrains('vat', 'l10n_latam_identification_type_id')
    Since we validate more documents than the vat for Argentinean partners (CUIT - VAT AR, CUIL, DNI) we extend this method in order to process it.
  • ensure_vat(self)
    This method is a helper that returns the VAT number is this one is defined if not raise an UserError. VAT is not mandatory field but for some Argentinean operations the VAT is required, for eg validate an electronic invoice, build a report, etc. This method can be used to validate is the VAT is proper defined in the partner
  • l10n_ar_identification_validation(self)

New fields (0)

No new fields.

Public methods (1)
  • retrieve_acc_type(self, acc_number)
    @api.model

New fields (1)
  • l10n_ar_afip_code Char
    help='Argentina: This code will be used on electronic invoice.' args: 'Code'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/16.0/l10n_ar
VERSION
VERSION 3.7
CATEGORY
CATEGORYAccounting/Localizations/Account Charts
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSADHOC SA
MAINTAINERS
MAINTAINERSADHOC SA
COMMITTERS
COMMITTERSRaphael Collet, Martin Trigaux, Fabien Pinckaers, Josse Colpaert, Yannick Tivisse, Laurent Smet, wan, Romeo Fragomeli, Victor Feyens, oco-odoo, Anh Thao Pham (pta), Katherine Zaoral, Prakash Prajapati, Nicolas (vin), william-andre, Paolo (pgi), Merlin (megu), Bruno Zanotti, Juan Jose Scarafia, aliya, william, Jinjiu Liu, niyasraphy, Habib (ayh), Gauthier Wala (gawa), Andrew Gavgavian, Claire Bretton (clbr), Pablo Montenegro, Dylan Kiss (dyki), Dawn Hwang, yosa-odoo, Claire (clbr), gteboul, Maximiliano Mezzavilla, Julia Elizondo, Rocío Vega
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:47
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_latam_invoice_document
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - account_debit_note
    - l10n_latam_base
    - contacts
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Functional
----------

This module add accounting features for the Argentinean localization, which represent the minimal configuration needed for a company  to operate in Argentina and under the AFIP (Administración Federal de Ingresos Públicos) regulations and guidelines.

Follow the next configuration steps for Production:

1. Go to your company and configure your VAT number and AFIP Responsibility Type
2. Go to Accounting / Settings and set the Chart of Account that you will like to use.
3. Create your Sale journals taking into account AFIP POS info.

Demo data for testing:

* 3 companies were created, one for each AFIP responsibility type with the respective Chart of Account installed. Choose the company that fix you in order to make tests:

  * (AR) Responsable Inscripto
  * (AR) Exento
  * (AR) Monotributo

* Journal sales configured to Pre printed and Expo invoices in all companies
* Invoices and other documents examples already validated in “(AR) Responsable Inscripto” company
* Partners example for the different responsibility types:

  * ADHOC (IVA Responsable Inscripto)
  * Servicios Globales (IVA Sujeto Exento)
  * Gritti (Monotributo)
  * Montana Sur. IVA Liberado in Zona Franca
  * Barcelona food (Cliente del Exterior)
  * Odoo (Proveedor del Exterior)

Highlights:

* Chart of account will not be automatically installed, each CoA Template depends on the AFIP Responsibility of the company, you will need to install the CoA for your needs.
* No sales journals will be generated when installing a CoA, you will need to configure your journals manually.
* The Document type will be properly pre selected when creating an invoice depending on the fiscal responsibility of the issuer and receiver of the document and the related journal.
* A CBU account type has been added and also CBU Validation


Technical
---------

This module adds both models and fields that will be eventually used for the electronic invoice module. Here is a summary of the main features:

Master Data:

* Chart of Account: one for each AFIP responsibility that is related to a legal entity:

  * Responsable Inscripto (RI)
  * Exento (EX)
  * Monotributo (Mono)

* Argentinean Taxes and Account Tax Groups (VAT taxes with the existing aliquots and other types)
* AFIP Responsibility Types
* Fiscal Positions (in order to map taxes)
* Legal Documents Types in Argentina
* Identification Types valid in Argentina.
* Country AFIP codes and Country VAT codes for legal entities, natural persons and others
* Currency AFIP codes
* Unit of measures AFIP codes
* Partners: Consumidor Final and AFIP

Code Analysis

Views touched (26)
XML IDNameModelTypeStatus
base_view_partner_form res.partner.form res.partner field Inherits base.view_partner_form
custom_header custom_header ir.ui.view qweb New
document_tax_totals document_tax_totals ir.ui.view qweb Inherits account.document_tax_totals
product_uom_categ_form_view uom.category.form uom.category field Inherits uom.product_uom_categ_form_view
product_uom_form_view uom.uom.form uom.uom field Inherits uom.product_uom_form_view
product_uom_tree_view uom.uom.tree uom.uom tree Inherits uom.product_uom_tree_view
report_invoice report_invoice ir.ui.view qweb Inherits account.report_invoice
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
report_invoice_with_payments report_invoice_with_payments ir.ui.view qweb Inherits account.report_invoice_with_payments
res_config_settings_view_form res.config.settings.view.form res.config.settings xpath Inherits account.res_config_settings_view_form
view_account_invoice_report_search_inherit account.invoice.report.search account.invoice.report search Inherits account.view_account_invoice_report_search
view_account_journal_form account.journal.form account.journal field Inherits l10n_latam_invoice_document.view_account_journal_form
view_account_move_filter account.move.filter account.move field Inherits account.view_account_move_filter
view_account_position_form account.fiscal.position.form account.fiscal.position field Inherits account.view_account_position_form
view_afip_responsibility_type_form afip.responsibility.type.form l10n_ar.afip.responsibility.type form New
view_afip_responsibility_type_tree afip.responsibility.type.tree l10n_ar.afip.responsibility.type tree New
view_company_form res.company.form.inherit res.company field Inherits base.view_company_form
view_currency_form res.currency.form res.currency field Inherits base.view_currency_form
view_document_type_filter l10n_latam.document.type.filter l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_filter
view_document_type_form l10n_latam.document.type.form l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_form
view_document_type_tree l10n_latam.document.type.tree l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_tree
view_move_form account.move.form account.move group Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner xpath Inherits account.view_partner_property_form
view_res_country_form res.country.form res.country field Inherits base.view_country_form
view_res_country_tree res.country.tree res.country field Inherits base.view_country_tree
view_res_partner_filter view.res.partner.filter.inherit res.partner field Inherits base.view_res_partner_filter
Models touched (18)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_responsibility_type_ids Many2many → l10n_ar.afip.responsibility.type
    help='List of AFIP responsibilities where this fiscal position should be auto-detected' string='AFIP Responsibility Types' args: 'l10n_ar.afip.responsibility.type', 'l10n_ar_afip_reponsibility_type_fiscal_pos_rel'
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_responsibility_type_ids Many2many → l10n_ar.afip.responsibility.type
    string='AFIP Responsibility Types' args: 'l10n_ar.afip.responsibility.type', 'l10n_ar_afip_reponsibility_type_fiscal_pos_temp_rel'
Public methods (0)

No public methods.

New fields (2)
  • date Date
    readonly=True string='Accounting Date'
  • l10n_ar_state_id Many2one → res.country.state
    readonly=True args: 'res.country.state', 'Delivery Province'
Public methods (0)

No public methods.

New fields (4)
  • company_partner Many2one → res.partner
    related='company_id.partner_id' args: 'res.partner'
  • l10n_ar_afip_pos_number Integer
    help='This is the point of sale number assigned by AFIP in order to generate invoices' args: 'AFIP POS Number'
  • l10n_ar_afip_pos_partner_id Many2one → res.partner
    domain="['|', ('id', '=', company_partner), '&', ('id', 'child_of', company_partner), ('type', '!=', 'contact')]" help='This is the address used for invoice reports of this POS' args: 'res.partner', 'AFIP POS Address'
  • l10n_ar_afip_pos_system Selection
    selection='_get_l10n_ar_afip_pos_types_selection' string='AFIP POS System'
Public methods (0)

No public methods.

New fields (5)
  • l10n_ar_afip_concept Selection
    compute='_compute_l10n_ar_afip_concept' help='A concept is suggested regarding the type of the products on the invoice but it is allowed to force a different type if required.' selection='_get_afip_invoice_concepts' string='AFIP Concept'
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by AFIP to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' string='AFIP Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_afip_service_end Date
    readonly=True states={'draft': [('readonly', False)]} string='AFIP Service End Date'
  • l10n_ar_afip_service_start Date
    readonly=True states={'draft': [('readonly', False)]} string='AFIP Service Start Date'
  • l10n_ar_currency_rate Float
    copy=False digits=(16, 6) readonly=True string='Currency Rate'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • l10n_ar_tribute_afip_code Selection
    index=True readonly=True string='Tribute AFIP Code' args: [('01', '01 - National Taxes'), ('02', '02 - Provincial Taxes'), ('03', '03 - Municipal Taxes'), ('04', '04 - Internal Taxes'), ('06', '06 - VAT perception'), ('07', '07 - IIBB perception'), ('08', '08 - Municipal Taxes Perceptions'), ('09', '09 - Other Perceptions'), ('99', '99 - Others')]
  • l10n_ar_vat_afip_code Selection
    index=True readonly=True string='VAT AFIP Code' args: [('0', 'Not Applicable'), ('1', 'Untaxed'), ('2', 'Exempt'), ('3', '0%'), ('4', '10.5%'), ('5', '21%'), ('6', '27%'), ('8', '5%'), ('9', '2,5%')]
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • code Char
    index=True required=True
  • name Char
    index='trigram' required=True
  • sequence Integer
Public methods (0)

No public methods.

New fields (2)
  • l10n_ar_letter Selection
    help='Letters defined by the AFIP that can be used to identify the documents presented to the government and that depends on the operation type, the responsibility of both the issuer and the receptor of the document' selection='_get_l10n_ar_letters' string='Letters'
  • purchase_aliquots Selection
    help='Raise an error if a vendor bill is miss encoded. "Not Zero" means the VAT taxes are required for the invoices related to this document type, and those with "Zero" means that only "VAT Not Applicable" tax is allowed.' args: [('not_zero', 'Not Zero'), ('zero', 'Zero')]
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    args: 'AFIP Code'
Public methods (0)

No public methods.

New fields (5)
  • l10n_ar_afip_responsibility_type_id Many2one
    domain="[('code', 'in', [1, 4, 6])]" readonly=False related='partner_id.l10n_ar_afip_responsibility_type_id'
  • l10n_ar_afip_start_date Date
    args: 'Activities Start'
  • l10n_ar_company_requires_vat Boolean
    compute='_compute_l10n_ar_company_requires_vat' string='Company Requires Vat?'
  • l10n_ar_gross_income_number Char
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_number' string='Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_type' string='Gross Income'
Public methods (1)
  • onchange_country(self)
    @api.onchange('country_id')
    Argentinean companies use round_globally as tax_calculation_rounding_method

New fields (4)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=3 args: 'AFIP Code'
  • l10n_ar_legal_entity_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are legal entity' size=11 args: 'Legal Entity VAT'
  • l10n_ar_natural_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are natural persons' size=11 args: 'Natural Person VAT'
  • l10n_ar_other_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are not natural persons or legal entities' size=11 args: 'Other VAT'
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=4 args: 'AFIP Code'
Public methods (0)

No public methods.

New fields (6)
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by AFIP to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' index='btree_not_null' string='AFIP Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_formatted_vat Char
    compute='_compute_l10n_ar_formatted_vat' help='Computed field that will convert the given VAT number to the format {person_category:2}-{number:10}-{validation_number:1}' string='Formatted VAT'
  • l10n_ar_gross_income_number Char
    args: 'Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='Type of gross income: exempt, local, multilateral' args: [('multilateral', 'Multilateral'), ('local', 'Local'), ('exempt', 'Exempt')], 'Gross Income Type'
  • l10n_ar_special_purchase_document_type_ids Many2many → l10n_latam.document.type
    help='Set here if this partner can issue other documents further than invoices, credit notes and debit notes' string='Other Purchase Documents' args: 'l10n_latam.document.type', 'res_partner_document_type_rel', 'partner_id', 'document_type_id'
  • l10n_ar_vat Char
    compute='_compute_l10n_ar_vat' help='Computed field that returns VAT or nothing if this one is not set for the partner' string='VAT'
Public methods (3)
  • check_vat(self)
    @api.constrains('vat', 'l10n_latam_identification_type_id')
    Since we validate more documents than the vat for Argentinean partners (CUIT - VAT AR, CUIL, DNI) we extend this method in order to process it.
  • ensure_vat(self)
    This method is a helper that returns the VAT number is this one is defined if not raise an UserError. VAT is not mandatory field but for some Argentinean operations the VAT is required, for eg validate an electronic invoice, build a report, etc. This method can be used to validate is the VAT is proper defined in the partner
  • l10n_ar_identification_validation(self)

New fields (0)

No new fields.

Public methods (1)
  • retrieve_acc_type(self, acc_number)
    @api.model

New fields (1)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' args: 'AFIP Code'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/15.0/l10n_ar
VERSION
VERSION 3.5
CATEGORY
CATEGORYAccounting/Localizations/Account Charts
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSADHOC SA
MAINTAINERS
MAINTAINERSADHOC SA
COMMITTERS
COMMITTERSMartin Trigaux, Josse Colpaert, Nicolas Martinelli, Yannick Tivisse, Jorge Pinna Puissant, Arnold Moyaux, wan, Xavier-Do, Victor Feyens, oco-odoo, Julien Mougenot, Katherine Zaoral, Prakash Prajapati, Bruno Zanotti (ADHOC), Nicolas (vin), william-andre, Paolo (pgi), Merlin (megu), Bruno Zanotti, Juan Jose Scarafia, Ignacio Cainelli, aliya, Nshimiyimana Séna, Jinjiu Liu, Habib (ayh), Gauthier Wala (gawa), Claire Bretton (clbr), Pablo Montenegro, Sébastien Geelen (sge)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:25:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_latam_invoice_document
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - account_debit_note
    - l10n_latam_base
    - contacts
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Functional
----------

This module add accounting features for the Argentinean localization, which represent the minimal configuration needed for a company  to operate in Argentina and under the AFIP (Administración Federal de Ingresos Públicos) regulations and guidelines.

Follow the next configuration steps for Production:

1. Go to your company and configure your VAT number and AFIP Responsibility Type
2. Go to Accounting / Settings and set the Chart of Account that you will like to use.
3. Create your Sale journals taking into account AFIP POS info.

Demo data for testing:

* 3 companies were created, one for each AFIP responsibility type with the respective Chart of Account installed. Choose the company that fix you in order to make tests:

  * (AR) Responsable Inscripto
  * (AR) Exento
  * (AR) Monotributo

* Journal sales configured to Pre printed and Expo invoices in all companies
* Invoices and other documents examples already validated in “(AR) Responsable Inscripto” company
* Partners example for the different responsibility types:

  * ADHOC (IVA Responsable Inscripto)
  * Consejo Municipal Rosario (IVA Sujeto Exento)
  * Gritti (Monotributo)
  * Cerro Castor. IVA Liberado in Zona Franca
  * Expresso (Cliente del Exterior)
  * Odoo (Proveedor del Exterior)

Highlights:

* Chart of account will not be automatically installed, each CoA Template depends on the AFIP Responsibility of the company, you will need to install the CoA for your needs.
* No sales journals will be generated when installing a CoA, you will need to configure your journals manually.
* The Document type will be properly pre selected when creating an invoice depending on the fiscal responsibility of the issuer and receiver of the document and the related journal.
* A CBU account type has been added and also CBU Validation


Technical
---------

This module adds both models and fields that will be eventually used for the electronic invoice module. Here is a summary of the main features:

Master Data:

* Chart of Account: one for each AFIP responsibility that is related to a legal entity:

  * Responsable Inscripto (RI)
  * Exento (EX)
  * Monotributo (Mono)

* Argentinean Taxes and Account Tax Groups (VAT taxes with the existing aliquots and other types)
* AFIP Responsibility Types
* Fiscal Positions (in order to map taxes)
* Legal Documents Types in Argentina
* Identification Types valid in Argentina.
* Country AFIP codes and Country VAT codes for legal entities, natural persons and others
* Currency AFIP codes
* Unit of measures AFIP codes
* Partners: Consumidor Final and AFIP

Code Analysis

Views touched (25)
XML IDNameModelTypeStatus
base_view_partner_form res.partner.form res.partner field Inherits base.view_partner_form
custom_header custom_header ir.ui.view qweb New
product_uom_categ_form_view uom.category.form uom.category field Inherits uom.product_uom_categ_form_view
product_uom_form_view uom.uom.form uom.uom field Inherits uom.product_uom_form_view
product_uom_tree_view uom.uom.tree uom.uom tree Inherits uom.product_uom_tree_view
report_invoice report_invoice ir.ui.view qweb Inherits account.report_invoice
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
report_invoice_with_payments report_invoice_with_payments ir.ui.view qweb Inherits account.report_invoice_with_payments
res_config_settings_view_form res.config.settings.view.form res.config.settings xpath Inherits account.res_config_settings_view_form
view_account_invoice_report_search_inherit account.invoice.report.search account.invoice.report search Inherits account.view_account_invoice_report_search
view_account_journal_form account.journal.form account.journal field Inherits l10n_latam_invoice_document.view_account_journal_form
view_account_move_filter account.move.filter account.move field Inherits account.view_account_move_filter
view_account_position_form account.fiscal.position.form account.fiscal.position field Inherits account.view_account_position_form
view_afip_responsibility_type_form afip.responsibility.type.form l10n_ar.afip.responsibility.type form New
view_afip_responsibility_type_tree afip.responsibility.type.tree l10n_ar.afip.responsibility.type tree New
view_company_form res.company.form.inherit res.company field Inherits base.view_company_form
view_currency_form res.currency.form res.currency field Inherits base.view_currency_form
view_document_type_filter l10n_latam.document.type.filter l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_filter
view_document_type_form l10n_latam.document.type.form l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_form
view_document_type_tree l10n_latam.document.type.tree l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_tree
view_move_form account.move.form account.move group Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner xpath Inherits account.view_partner_property_form
view_res_country_form res.country.form res.country field Inherits base.view_country_form
view_res_country_tree res.country.tree res.country field Inherits base.view_country_tree
view_res_partner_filter view.res.partner.filter.inherit res.partner field Inherits base.view_res_partner_filter
Models touched (18)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_responsibility_type_ids Many2many → l10n_ar.afip.responsibility.type
    help='List of AFIP responsibilities where this fiscal position should be auto-detected' string='AFIP Responsibility Types' args: 'l10n_ar.afip.responsibility.type', 'l10n_ar_afip_reponsibility_type_fiscal_pos_rel'
Public methods (1)
  • get_fiscal_position(self, partner_id, delivery_id=None)
    @api.model
    Take into account the partner afip responsibility in order to auto-detect the fiscal position

New fields (1)
  • l10n_ar_afip_responsibility_type_ids Many2many → l10n_ar.afip.responsibility.type
    string='AFIP Responsibility Types' args: 'l10n_ar.afip.responsibility.type', 'l10n_ar_afip_reponsibility_type_fiscal_pos_temp_rel'
Public methods (0)

No public methods.

New fields (2)
  • date Date
    readonly=True string='Accounting Date'
  • l10n_ar_state_id Many2one → res.country.state
    readonly=True args: 'res.country.state', 'State'
Public methods (0)

No public methods.

New fields (5)
  • company_partner Many2one → res.partner
    related='company_id.partner_id' args: 'res.partner'
  • l10n_ar_afip_pos_number Integer
    help='This is the point of sale number assigned by AFIP in order to generate invoices' args: 'AFIP POS Number'
  • l10n_ar_afip_pos_partner_id Many2one → res.partner
    domain="['|', ('id', '=', company_partner), '&', ('id', 'child_of', company_partner), ('type', '!=', 'contact')]" help='This is the address used for invoice reports of this POS' args: 'res.partner', 'AFIP POS Address'
  • l10n_ar_afip_pos_system Selection
    selection='_get_l10n_ar_afip_pos_types_selection' string='AFIP POS System'
  • l10n_ar_share_sequences Boolean
    help='Use same sequence for documents with the same letter' args: 'Unified Book'
Public methods (0)

No public methods.

New fields (5)
  • l10n_ar_afip_concept Selection
    compute='_compute_l10n_ar_afip_concept' help='A concept is suggested regarding the type of the products on the invoice but it is allowed to force a different type if required.' selection='_get_afip_invoice_concepts' string='AFIP Concept'
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by AFIP to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' string='AFIP Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_afip_service_end Date
    readonly=True states={'draft': [('readonly', False)]} string='AFIP Service End Date'
  • l10n_ar_afip_service_start Date
    readonly=True states={'draft': [('readonly', False)]} string='AFIP Service Start Date'
  • l10n_ar_currency_rate Float
    copy=False digits=(16, 6) readonly=True string='Currency Rate'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • l10n_ar_tribute_afip_code Selection
    index=True readonly=True string='Tribute AFIP Code' args: [('01', '01 - National Taxes'), ('02', '02 - Provincial Taxes'), ('03', '03 - Municipal Taxes'), ('04', '04 - Internal Taxes'), ('06', '06 - VAT perception'), ('07', '07 - IIBB perception'), ('08', '08 - Municipal Taxes Perceptions'), ('09', '09 - Other Perceptions'), ('99', '99 - Others')]
  • l10n_ar_vat_afip_code Selection
    index=True readonly=True string='VAT AFIP Code' args: [('0', 'Not Applicable'), ('1', 'Untaxed'), ('2', 'Exempt'), ('3', '0%'), ('4', '10.5%'), ('5', '21%'), ('6', '27%'), ('8', '5%'), ('9', '2,5%')]
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • code Char
    index=True required=True
  • name Char
    index=True required=True
  • sequence Integer
Public methods (0)

No public methods.

New fields (2)
  • l10n_ar_letter Selection
    help='Letters defined by the AFIP that can be used to identify the documents presented to the government and that depends on the operation type, the responsibility of both the issuer and the receptor of the document' selection='_get_l10n_ar_letters' string='Letters'
  • purchase_aliquots Selection
    help='Raise an error if a vendor bill is miss encoded. "Not Zero" means the VAT taxes are required for the invoices related to this document type, and those with "Zero" means that only "VAT Not Applicable" tax is allowed.' args: [('not_zero', 'Not Zero'), ('zero', 'Zero')]
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    args: 'AFIP Code'
Public methods (0)

No public methods.

New fields (5)
  • l10n_ar_afip_responsibility_type_id Many2one
    domain="[('code', 'in', [1, 4, 6])]" readonly=False related='partner_id.l10n_ar_afip_responsibility_type_id'
  • l10n_ar_afip_start_date Date
    args: 'Activities Start'
  • l10n_ar_company_requires_vat Boolean
    compute='_compute_l10n_ar_company_requires_vat' string='Company Requires Vat?'
  • l10n_ar_gross_income_number Char
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_number' string='Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_type' string='Gross Income'
Public methods (1)
  • onchange_country(self)
    @api.onchange('country_id')
    Argentinean companies use round_globally as tax_calculation_rounding_method

New fields (4)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=3 args: 'AFIP Code'
  • l10n_ar_legal_entity_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are legal entity' size=11 args: 'Legal Entity VAT'
  • l10n_ar_natural_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are natural persons' size=11 args: 'Natural Person VAT'
  • l10n_ar_other_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are not natural persons or legal entities' size=11 args: 'Other VAT'
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=4 args: 'AFIP Code'
Public methods (0)

No public methods.

New fields (6)
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by AFIP to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' index=True string='AFIP Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_formatted_vat Char
    compute='_compute_l10n_ar_formatted_vat' help='Computed field that will convert the given VAT number to the format {person_category:2}-{number:10}-{validation_number:1}' string='Formatted VAT'
  • l10n_ar_gross_income_number Char
    args: 'Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='Type of gross income: exempt, local, multilateral' args: [('multilateral', 'Multilateral'), ('local', 'Local'), ('exempt', 'Exempt')], 'Gross Income Type'
  • l10n_ar_special_purchase_document_type_ids Many2many → l10n_latam.document.type
    help='Set here if this partner can issue other documents further than invoices, credit notes and debit notes' string='Other Purchase Documents' args: 'l10n_latam.document.type', 'res_partner_document_type_rel', 'partner_id', 'document_type_id'
  • l10n_ar_vat Char
    compute='_compute_l10n_ar_vat' help='Computed field that returns VAT or nothing if this one is not set for the partner' string='VAT'
Public methods (3)
  • check_vat(self)
    @api.constrains('vat', 'l10n_latam_identification_type_id')
    Since we validate more documents than the vat for Argentinean partners (CUIT - VAT AR, CUIL, DNI) we extend this method in order to process it.
  • ensure_vat(self)
    This method is a helper that returns the VAT number is this one is defined if not raise an UserError. VAT is not mandatory field but for some Argentinean operations the VAT is required, for eg validate an electronic invoice, build a report, etc. This method can be used to validate is the VAT is proper defined in the partner
  • l10n_ar_identification_validation(self)

New fields (0)

No new fields.

Public methods (1)
  • retrieve_acc_type(self, acc_number)
    @api.model

New fields (1)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' args: 'AFIP Code'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/14.0/l10n_ar
VERSION
VERSION 3.5
CATEGORY
CATEGORYAccounting/Localizations/Account Charts
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSADHOC SA
MAINTAINERS
MAINTAINERSADHOC SA
COMMITTERS
COMMITTERSRaphael Collet, Martin Trigaux, Josse Colpaert, Denis Ledoux, Christophe Simonis, Xavier Morel, Ravi Gohil, Nicolas Martinelli, qdp-odoo, Yannick Tivisse, Jorge Pinna Puissant, wan, Xavier-Do, Victor Feyens, oco-odoo, fw-bot, Katherine Zaoral, Benjamin Frantzen (bfr), Bruno Zanotti (ADHOC), Jigar Vaghela, Merlin (megu), Augusto Weiss, Bruno Zanotti, Juan Jose Scarafia, Ignacio Cainelli, william, Jinjiu Liu, Claire Bretton (clbr), Pablo Montenegro
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:14:27
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_latam_invoice_document
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - account_debit_note
    - l10n_latam_base
    - contacts
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Functional
----------

This module add accounting features for the Argentinian localization, which represent the minimal configuration needed for a company  to operate in Argentina and under the AFIP (Administración Federal de Ingresos Públicos) regulations and guidelines.

Follow the next configuration steps for Production:

1. Go to your company and configure your VAT number and AFIP Responsibility Type
2. Go to Accounting / Settings and set the Chart of Account that you will like to use.
3. Create your Sale journals taking into account AFIP POS info.

Demo data for testing:

* 3 companies were created, one for each AFIP responsibility type with the respective Chart of Account installed. Choose the company that fix you in order to make tests:

  * (AR) Responsable Inscripto
  * (AR) Exento
  * (AR) Monotributo

* Journal sales configured to Pre printed and Expo invoices in all companies
* Invoices and other documents examples already validated in “(AR) Responsable Inscripto” company
* Partners example for the different responsibility types:

  * ADHOC (IVA Responsable Inscripto)
  * Consejo Municipal Rosario (IVA Sujeto Exento)
  * Gritti (Monotributo)
  * Cerro Castor. IVA Liberado in Zona Franca
  * Expresso (Cliente del Exterior)
  * Odoo (Proveedor del Exterior)

Highlights:

* Chart of account will not be automatically installed, each CoA Template depends on the AFIP Responsibility of the company, you will need to install the CoA for your needs.
* No sales journals will be generated when installing a CoA, you will need to configure your journals manually.
* The Document type will be properly pre selected when creating an invoice depending on the fiscal responsibility of the issuer and receiver of the document and the related journal.
* A CBU account type has been added and also CBU Validation


Technical
---------

This module adds both models and fields that will be eventually used for the electronic invoice module. Here is a summary of the main features:

Master Data:

* Chart of Account: one for each AFIP responsibility that is related to a legal entity:

  * Responsable Inscripto (RI)
  * Exento (EX)
  * Monotributo (Mono)

* Argentinian Taxes and Account Tax Groups (VAT taxes with the existing aliquots and other types)
* AFIP Responsibility Types
* Fiscal Positions (in order to map taxes)
* Legal Documents Types in Argentina
* Identification Types valid in Argentina.
* Country AFIP codes and Country VAT codes for legal entities, natural persons and others
* Currency AFIP codes
* Unit of measures AFIP codes
* Partners: Consumidor Final and AFIP

Code Analysis

Views touched (24)
XML IDNameModelTypeStatus
assets_backend account assets ir.ui.view qweb Inherits web.assets_backend
base_view_partner_form res.partner.form res.partner field Inherits base.view_partner_form
custom_header custom_header ir.ui.view qweb New
product_uom_form_view uom.uom.form uom.uom field Inherits uom.product_uom_form_view
product_uom_tree_view uom.uom.tree uom.uom tree Inherits uom.product_uom_tree_view
report_invoice report_invoice ir.ui.view qweb Inherits account.report_invoice
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
report_invoice_with_payments report_invoice_with_payments ir.ui.view qweb Inherits account.report_invoice_with_payments
view_account_invoice_report_search_inherit account.invoice.report.search account.invoice.report search Inherits account.view_account_invoice_report_search
view_account_journal_form account.journal.form account.journal field Inherits l10n_latam_invoice_document.view_account_journal_form
view_account_move_filter account.move.filter account.move field Inherits account.view_account_move_filter
view_account_position_form account.fiscal.position.form account.fiscal.position field Inherits account.view_account_position_form
view_afip_responsibility_type_form afip.responsibility.type.form l10n_ar.afip.responsibility.type form New
view_afip_responsibility_type_tree afip.responsibility.type.tree l10n_ar.afip.responsibility.type tree New
view_company_form res.company.form.inherit res.company field Inherits base.view_company_form
view_currency_form res.currency.form res.currency field Inherits base.view_currency_form
view_document_type_filter l10n_latam.document.type.filter l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_filter
view_document_type_form l10n_latam.document.type.form l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_form
view_document_type_tree l10n_latam.document.type.tree l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_tree
view_move_form account.move.form account.move group Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner xpath Inherits account.view_partner_property_form
view_res_country_form res.country.form res.country field Inherits base.view_country_form
view_res_country_tree res.country.tree res.country field Inherits base.view_country_tree
view_res_partner_filter view.res.partner.filter.inherit res.partner field Inherits base.view_res_partner_filter
Models touched (16)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_responsibility_type_ids Many2many → l10n_ar.afip.responsibility.type
    help='List of AFIP responsibilities where this fiscal position should be auto-detected' string='AFIP Responsibility Types' args: 'l10n_ar.afip.responsibility.type', 'l10n_ar_afip_reponsibility_type_fiscal_pos_rel'
Public methods (1)
  • get_fiscal_position(self, partner_id, delivery_id=None)
    @api.model
    Take into account the partner afip responsibility in order to auto-detect the fiscal position

New fields (1)
  • l10n_ar_afip_responsibility_type_ids Many2many → l10n_ar.afip.responsibility.type
    string='AFIP Responsibility Types' args: 'l10n_ar.afip.responsibility.type', 'l10n_ar_afip_reponsibility_type_fiscal_pos_temp_rel'
Public methods (0)

No public methods.

New fields (2)
  • date Date
    readonly=True string='Accounting Date'
  • l10n_ar_state_id Many2one → res.country.state
    readonly=True args: 'res.country.state', 'State'
Public methods (0)

No public methods.

New fields (5)
  • company_partner Many2one → res.partner
    related='company_id.partner_id' args: 'res.partner'
  • l10n_ar_afip_pos_number Integer
    help='This is the point of sale number assigned by AFIP in order to generate invoices' args: 'AFIP POS Number'
  • l10n_ar_afip_pos_partner_id Many2one → res.partner
    domain="['|', ('id', '=', company_partner), '&', ('id', 'child_of', company_partner), ('type', '!=', 'contact')]" help='This is the address used for invoice reports of this POS' args: 'res.partner', 'AFIP POS Address'
  • l10n_ar_afip_pos_system Selection
    selection='_get_l10n_ar_afip_pos_types_selection' string='AFIP POS System'
  • l10n_ar_share_sequences Boolean
    help='Use same sequence for documents with the same letter' args: 'Unified Book'
Public methods (0)

No public methods.

New fields (5)
  • l10n_ar_afip_concept Selection
    compute='_compute_l10n_ar_afip_concept' help='A concept is suggested regarding the type of the products on the invoice but it is allowed to force a different type if required.' selection='_get_afip_invoice_concepts' string='AFIP Concept'
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by AFIP to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' string='AFIP Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_afip_service_end Date
    readonly=True states={'draft': [('readonly', False)]} string='AFIP Service End Date'
  • l10n_ar_afip_service_start Date
    readonly=True states={'draft': [('readonly', False)]} string='AFIP Service Start Date'
  • l10n_ar_currency_rate Float
    copy=False digits=(16, 6) readonly=True string='Currency Rate'
Public methods (0)

No public methods.

New fields (2)
  • l10n_ar_tribute_afip_code Selection
    index=True readonly=True string='Tribute AFIP Code' args: [('01', '01 - National Taxes'), ('02', '02 - Provincial Taxes'), ('03', '03 - Municipal Taxes'), ('04', '04 - Internal Taxes'), ('06', '06 - VAT perception'), ('07', '07 - IIBB perception'), ('08', '08 - Municipal Taxes Perceptions'), ('09', '09 - Other Perceptions'), ('99', '99 - Others')]
  • l10n_ar_vat_afip_code Selection
    index=True readonly=True string='VAT AFIP Code' args: [('0', 'Not Applicable'), ('1', 'Untaxed'), ('2', 'Exempt'), ('3', '0%'), ('4', '10.5%'), ('5', '21%'), ('6', '27%'), ('8', '5%'), ('9', '2,5%')]
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • code Char
    index=True required=True
  • name Char
    index=True required=True
  • sequence Integer
Public methods (0)

No public methods.

New fields (2)
  • l10n_ar_letter Selection
    help='Letters defined by the AFIP that can be used to identify the documents presented to the government and that depends on the operation type, the responsibility of both the issuer and the receptor of the document' selection='_get_l10n_ar_letters' string='Letters'
  • purchase_aliquots Selection
    help='Raise an error if a vendor bill is miss encoded. "Not Zero" means the VAT taxes are required for the invoices related to this document type, and those with "Zero" means that only "VAT Not Applicable" tax is allowed.' args: [('not_zero', 'Not Zero'), ('zero', 'Zero')]
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    args: 'AFIP Code'
Public methods (0)

No public methods.

New fields (5)
  • l10n_ar_afip_responsibility_type_id Many2one
    domain="[('code', 'in', [1, 4, 6])]" readonly=False related='partner_id.l10n_ar_afip_responsibility_type_id'
  • l10n_ar_afip_start_date Date
    args: 'Activities Start'
  • l10n_ar_company_requires_vat Boolean
    compute='_compute_l10n_ar_company_requires_vat' string='Company Requires Vat?'
  • l10n_ar_gross_income_number Char
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_number' string='Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_type' string='Gross Income'
Public methods (1)
  • onchange_country(self)
    @api.onchange('country_id')
    Argentinian companies use round_globally as tax_calculation_rounding_method

New fields (4)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=3 args: 'AFIP Code'
  • l10n_ar_legal_entity_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are legal entity' size=11 args: 'Legal Entity VAT'
  • l10n_ar_natural_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are natural persons' size=11 args: 'Natural Person VAT'
  • l10n_ar_other_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are not natural persons or legal entities' size=11 args: 'Other VAT'
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=4 args: 'AFIP Code'
Public methods (0)

No public methods.

New fields (6)
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by AFIP to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' index=True string='AFIP Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_formatted_vat Char
    compute='_compute_l10n_ar_formatted_vat' help='Computed field that will convert the given VAT number to the format {person_category:2}-{number:10}-{validation_number:1}' string='Formatted VAT'
  • l10n_ar_gross_income_number Char
    args: 'Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='Type of gross income: exempt, local, multilateral' args: [('multilateral', 'Multilateral'), ('local', 'Local'), ('exempt', 'Exempt')], 'Gross Income Type'
  • l10n_ar_special_purchase_document_type_ids Many2many → l10n_latam.document.type
    help='Set here if this partner can issue other documents further than invoices, credit notes and debit notes' string='Other Purchase Documents' args: 'l10n_latam.document.type', 'res_partner_document_type_rel', 'partner_id', 'document_type_id'
  • l10n_ar_vat Char
    compute='_compute_l10n_ar_vat' help='Computed field that returns VAT or nothing if this one is not set for the partner' string='VAT'
Public methods (3)
  • check_vat(self)
    @api.constrains('vat', 'l10n_latam_identification_type_id')
    Since we validate more documents than the vat for Argentinian partners (CUIT - VAT AR, CUIL, DNI) we extend this method in order to process it.
  • ensure_vat(self)
    This method is a helper that returns the VAT number is this one is defined if not raise an UserError. VAT is not mandatory field but for some Argentinian operations the VAT is required, for eg validate an electronic invoice, build a report, etc. This method can be used to validate is the VAT is proper defined in the partner
  • l10n_ar_identification_validation(self)

New fields (0)

No new fields.

Public methods (1)
  • retrieve_acc_type(self, acc_number)
    @api.model

New fields (1)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' args: 'AFIP Code'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/13.0/l10n_ar
VERSION
VERSION 3.5
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSADHOC SA
MAINTAINERS
MAINTAINERSADHOC SA
COMMITTERS
COMMITTERSJosse Colpaert, Denis Ledoux, Christophe Simonis, Olivier Colson, Pierre Masereel, Xavier-Do, Victor Feyens, Katherine Zaoral, Bruno Zanotti (ADHOC), Nicolás Mac Rouillon, Merlin (megu), Augusto Weiss, Bruno Zanotti, Juan Jose Scarafia, nicolas, Ignacio Cainelli
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:06:41
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_latam_invoice_document
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - l10n_latam_base
    - contacts
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Functional
----------

This module add accounting features for the Argentinian localization, which represent the minimal configuration needed for a company  to operate in Argentina and under the AFIP (Administración Federal de Ingresos Públicos) regulations and guidelines.

Follow the next configuration steps for Production:

1. Go to your company and configure your VAT number and AFIP Responsibility Type
2. Go to Accounting / Settings and set the Chart of Account that you will like to use.
3. Create your Sale journals taking into account AFIP POS info.

Demo data for testing:

* 3 companies were created, one for each AFIP responsibility type with the respective Chart of Account installed. Choose the company that fix you in order to make tests:

  * (AR) Responsable Inscripto
  * (AR) Exento
  * (AR) Monotributo

* Journal sales configured to Pre printed and Expo invoices in all companies
* Invoices and other documents examples already validated in “(AR) Responsable Inscripto” company
* Partners example for the different responsibility types:

  * ADHOC (IVA Responsable Inscripto)
  * Consejo Municipal Rosario (IVA Sujeto Exento)
  * Gritti (Monotributo)
  * Cerro Castor. IVA Liberado in Zona Franca
  * Expresso (Cliente del Exterior)
  * Odoo (Proveedor del Exterior)

Highlights:

* Chart of account will not be automatically installed, each CoA Template depends on the AFIP Responsibility of the company, you will need to install the CoA for your needs.
* No sales journals will be generated when installing a CoA, you will need to configure your journals manually.
* The Document type will be properly pre selected when creating an invoice depending on the fiscal responsibility of the issuer and receiver of the document and the related journal.
* A CBU account type has been added and also CBU Validation


Technical
---------

This module adds both models and fields that will be eventually used for the electronic invoice module. Here is a summary of the main features:

Master Data:

* Chart of Account: one for each AFIP responsibility that is related to a legal entity:

  * Responsable Inscripto (RI)
  * Exento (EX)
  * Monotributo (Mono)

* Argentinian Taxes and Account Tax Groups (VAT taxes with the existing aliquots and other types)
* AFIP Responsibility Types
* Fiscal Positions (in order to map taxes)
* Legal Documents Types in Argentina
* Identification Types valid in Argentina.
* Country AFIP codes and Country VAT codes for legal entities, natural persons and others
* Currency AFIP codes
* Unit of measures AFIP codes
* Partners: Consumidor Final and AFIP

Code Analysis

Views touched (25)
XML IDNameModelTypeStatus
base_view_partner_form res.partner.form res.partner field Inherits base.view_partner_form
custom_header custom_header ir.ui.view qweb New
product_uom_form_view uom.uom.form uom.uom field Inherits uom.product_uom_form_view
product_uom_tree_view uom.uom.tree uom.uom tree Inherits uom.product_uom_tree_view
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
report_invoice_document_with_payments report_invoice_document_with_payments ir.ui.view qweb Inherits account.report_invoice_document_with_payments
sequence_view ir.sequence.form ir.sequence field Inherits l10n_latam_invoice_document.sequence_view
sequence_view_tree ir.sequence.tree ir.sequence field Inherits l10n_latam_invoice_document.sequence_view_tree
view_account_invoice_report_search_inherit account.invoice.report.search account.invoice.report search Inherits account.view_account_invoice_report_search
view_account_journal_form account.journal.form account.journal xpath Inherits l10n_latam_invoice_document.view_account_journal_form
view_account_move_filter account.move.filter account.move field Inherits account.view_account_move_filter
view_account_position_form account.fiscal.position.form account.fiscal.position field Inherits account.view_account_position_form
view_afip_responsibility_type_form afip.responsibility.type.form l10n_ar.afip.responsibility.type form New
view_afip_responsibility_type_tree afip.responsibility.type.tree l10n_ar.afip.responsibility.type tree New
view_company_form res.company.form.inherit res.company form Inherits base.view_company_form
view_currency_form res.currency.form res.currency field Inherits base.view_currency_form
view_document_type_filter l10n_latam.document.type.filter l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_filter
view_document_type_form l10n_latam.document.type.form l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_form
view_document_type_tree l10n_latam.document.type.tree l10n_latam.document.type field Inherits l10n_latam_invoice_document.view_document_type_tree
view_move_form account.move.form account.move group Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner xpath Inherits account.view_partner_property_form
view_res_country_form res.country.form res.country field Inherits base.view_country_form
view_res_country_tree res.country.tree res.country field Inherits base.view_country_tree
view_res_partner_filter view.res.partner.filter.inherit res.partner field Inherits base.view_res_partner_filter
view_sequence_search ir.sequence.search ir.sequence field Inherits l10n_latam_invoice_document.view_sequence_search
Models touched (17)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_responsibility_type_ids Many2many → l10n_ar.afip.responsibility.type
    help='List of AFIP responsibilities where this fiscal position should be auto-detected' string='AFIP Responsibility Types' args: 'l10n_ar.afip.responsibility.type', 'l10n_ar_afip_reponsibility_type_fiscal_pos_rel'
Public methods (1)
  • get_fiscal_position(self, partner_id, delivery_id=None)
    @api.model
    Take into account the partner afip responsibility in order to auto-detect the fiscal position

New fields (1)
  • l10n_ar_afip_responsibility_type_ids Many2many → l10n_ar.afip.responsibility.type
    string='AFIP Responsibility Types' args: 'l10n_ar.afip.responsibility.type', 'l10n_ar_afip_reponsibility_type_fiscal_pos_temp_rel'
Public methods (0)

No public methods.

New fields (2)
  • date Date
    readonly=True string='Accounting Date'
  • l10n_ar_state_id Many2one → res.country.state
    readonly=True args: 'res.country.state', 'State'
Public methods (0)

No public methods.

New fields (5)
  • l10n_ar_afip_pos_number Integer
    help='This is the point of sale number assigned by AFIP in order to generate invoices' args: 'AFIP POS Number'
  • l10n_ar_afip_pos_partner_id Many2one → res.partner
    help='This is the address used for invoice reports of this POS' args: 'res.partner', 'AFIP POS Address'
  • l10n_ar_afip_pos_system Selection
    selection='_get_l10n_ar_afip_pos_types_selection' string='AFIP POS System'
  • l10n_ar_sequence_ids One2many → ir.sequence
    string='Sequences' args: 'ir.sequence', 'l10n_latam_journal_id'
  • l10n_ar_share_sequences Boolean
    help='Use same sequence for documents with the same letter' args: 'Unified Book'
Public methods (2)
  • create(self, values)
    @api.model
    Create Document sequences after create the journal
  • write(self, values)
    Update Document sequences after update journal

New fields (5)
  • l10n_ar_afip_concept Selection
    compute='_compute_l10n_ar_afip_concept' help='A concept is suggested regarding the type of the products on the invoice but it is allowed to force a different type if required.' selection='_get_afip_invoice_concepts' string='AFIP Concept'
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by AFIP to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' string='AFIP Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_afip_service_end Date
    readonly=True states={'draft': [('readonly', False)]} string='AFIP Service End Date'
  • l10n_ar_afip_service_start Date
    readonly=True states={'draft': [('readonly', False)]} string='AFIP Service Start Date'
  • l10n_ar_currency_rate Float
    copy=False digits=(16, 6) readonly=True string='Currency Rate'
Public methods (1)
  • post(self)

New fields (2)
  • l10n_ar_tribute_afip_code Selection
    index=True readonly=True string='Tribute AFIP Code' args: [('01', '01 - National Taxes'), ('02', '02 - Provincial Taxes'), ('03', '03 - Municipal Taxes'), ('04', '04 - Internal Taxes'), ('06', '06 - VAT perception'), ('07', '07 - IIBB perception'), ('08', '08 - Municipal Taxes Perceptions'), ('09', '09 - Other Perceptions'), ('99', '99 - Others')]
  • l10n_ar_vat_afip_code Selection
    index=True readonly=True string='VAT AFIP Code' args: [('0', 'Not Applicable'), ('1', 'Untaxed'), ('2', 'Exempt'), ('3', '0%'), ('4', '10.5%'), ('5', '21%'), ('6', '27%'), ('8', '5%'), ('9', '2,5%')]
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_letter Selection
    selection='_get_l10n_ar_letters' string='Letter'
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • code Char
    index=True required=True
  • name Char
    index=True required=True
  • sequence Integer
Public methods (0)

No public methods.

New fields (2)
  • l10n_ar_letter Selection
    help='Letters defined by the AFIP that can be used to identify the documents presented to the government and that depends on the operation type, the responsibility of both the issuer and the receptor of the document' selection='_get_l10n_ar_letters' string='Letters'
  • purchase_aliquots Selection
    help='Raise an error if a vendor bill is miss encoded. "Not Zero" means the VAT taxes are required for the invoices related to this document type, and those with "Zero" means that only "VAT Not Applicable" tax is allowed.' args: [('not_zero', 'Not Zero'), ('zero', 'Zero')]
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    args: 'AFIP Code'
Public methods (0)

No public methods.

New fields (6)
  • l10n_ar_afip_responsibility_type_id Many2one
    domain="[('code', 'in', [1, 4, 6])]" readonly=False related='partner_id.l10n_ar_afip_responsibility_type_id'
  • l10n_ar_afip_start_date Date
    args: 'Activities Start'
  • l10n_ar_company_requires_vat Boolean
    compute='_compute_l10n_ar_company_requires_vat' string='Company Requires Vat?'
  • l10n_ar_country_code Char
    related='country_id.code' string='Country Code'
  • l10n_ar_gross_income_number Char
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_number' string='Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='This field is required in order to print the invoice report properly' readonly=False related='partner_id.l10n_ar_gross_income_type' string='Gross Income'
Public methods (1)
  • onchange_country(self)
    @api.onchange('country_id')
    Argentinian companies use round_globally as tax_calculation_rounding_method

New fields (4)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=3 args: 'AFIP Code'
  • l10n_ar_legal_entity_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are legal entity' size=11 args: 'Legal Entity VAT'
  • l10n_ar_natural_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are natural persons' size=11 args: 'Natural Person VAT'
  • l10n_ar_other_vat Char
    help='Generic VAT number defined by AFIP in order to recognize partners from this country that are not natural persons or legal entities' size=11 args: 'Other VAT'
Public methods (0)

No public methods.

New fields (1)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' size=4 args: 'AFIP Code'
Public methods (0)

No public methods.

New fields (6)
  • l10n_ar_afip_responsibility_type_id Many2one → l10n_ar.afip.responsibility.type
    help='Defined by AFIP to identify the type of responsibilities that a person or a legal entity could have and that impacts in the type of operations and requirements they need.' index=True string='AFIP Responsibility Type' args: 'l10n_ar.afip.responsibility.type'
  • l10n_ar_formatted_vat Char
    compute='_compute_l10n_ar_formatted_vat' help='Computed field that will convert the given VAT number to the format {person_category:2}-{number:10}-{validation_number:1}' string='Formatted VAT'
  • l10n_ar_gross_income_number Char
    args: 'Gross Income Number'
  • l10n_ar_gross_income_type Selection
    help='Type of gross income: exempt, local, multilateral' args: [('multilateral', 'Multilateral'), ('local', 'Local'), ('exempt', 'Exempt')], 'Gross Income Type'
  • l10n_ar_special_purchase_document_type_ids Many2many → l10n_latam.document.type
    help='Set here if this partner can issue other documents further than invoices, credit notes and debit notes' string='Other Purchase Documents' args: 'l10n_latam.document.type', 'res_partner_document_type_rel', 'partner_id', 'document_type_id'
  • l10n_ar_vat Char
    compute='_compute_l10n_ar_vat' help='Computed field that returns VAT or nothing if this one is not set for the partner' string='VAT'
Public methods (3)
  • check_vat(self)
    @api.constrains('vat', 'l10n_latam_identification_type_id')
    Since we validate more documents than the vat for Argentinian partners (CUIT - VAT AR, CUIL, DNI) we extend this method in order to process it.
  • ensure_vat(self)
    This method is a helper that returns the VAT number is this one is defined if not raise an UserError. VAT is not mandatory field but for some Argentinian operations the VAT is required, for eg validate an electronic invoice, build a report, etc. This method can be used to validate is the VAT is proper defined in the partner
  • l10n_ar_identification_validation(self)

New fields (0)

No new fields.

Public methods (1)
  • retrieve_acc_type(self, acc_number)
    @api.model

New fields (1)
  • l10n_ar_afip_code Char
    help='This code will be used on electronic invoice' args: 'AFIP Code'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/12.0/l10n_ar
VERSION
VERSION 2.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSCubic ERP
MAINTAINERS
MAINTAINERSCubic ERP
COMMITTERS
COMMITTERSMartin Trigaux, Fabien Pinckaers, qdp-odoo, Yannick Tivisse, Xavier-Do
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:57:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - account
    - base_setup
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Argentinian accounting chart and tax localization.
==================================================

Plan contable argentino e impuestos de acuerdo a disposiciones vigentes

    

Code Analysis

Views touched (0)

No views found for this module.

Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/11.0/l10n_ar
VERSION
VERSION 2.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSCubic ERP
MAINTAINERS
MAINTAINERSCubic ERP
COMMITTERS
COMMITTERSMartin Trigaux, Christophe Simonis, qdp-odoo, Yannick Tivisse, Laurent Smet
WEBSITE
WEBSITEhttp://cubicERP.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:53:42
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - account
    - base_setup
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - analytic
    - web_planner
    - portal
    - http_routing
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Argentinian accounting chart and tax localization.
==================================================

Plan contable argentino e impuestos de acuerdo a disposiciones vigentes

    

Code Analysis

Views touched (0)

No views found for this module.

Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/10.0/l10n_ar
VERSION
VERSION 2.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSCubic ERP
MAINTAINERS
MAINTAINERSCubic ERP
COMMITTERS
COMMITTERSRaphael Collet, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Denis Ledoux, Christophe Simonis, Julien Legros, qdp-odoo, Yannick Tivisse
WEBSITE
WEBSITEhttp://cubicERP.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:50:47
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - account
    - base_setup
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Argentinian accounting chart and tax localization.
==================================================

Plan contable argentino e impuestos de acuerdo a disposiciones vigentes

    

Code Analysis

Views touched (0)

No views found for this module.

Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/9.0/l10n_ar
VERSION
VERSION 2.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSCubic ERP
MAINTAINERS
MAINTAINERSCubic ERP
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Olivier Dony, Josse Colpaert, Christophe Simonis, qdp-odoo, pvy, Yannick Tivisse
WEBSITE
WEBSITEhttp://cubicERP.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:48:29
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - account
    - base_setup
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Argentinian accounting chart and tax localization.
==================================================

Plan contable argentino e impuestos de acuerdo a disposiciones vigentes

    

Code Analysis

Views touched (0)

No views found for this module.

Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/8.0/l10n_ar
VERSION
VERSION 1.0
CATEGORY
CATEGORYLocalization/Account Charts
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSCubic ERP
MAINTAINERS
MAINTAINERSCubic ERP
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Antony Lesuisse, Olivier Dony, Thibault Delavallée, Aaron Bohy, Sunil Sharma (OpenERP Trainee)
WEBSITE
WEBSITEhttp://cubicERP.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:45:38
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_chart
    - 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
Argentinian accounting chart and tax localization.
==================================================

Plan contable argentino e impuestos de acuerdo a disposiciones vigentes

    

Code Analysis

Views touched (0)

No views found for this module.

Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/7.0/l10n_ar
VERSION
VERSION 1.0
CATEGORY
CATEGORYLocalization/Account Charts
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSCubic ERP
MAINTAINERS
MAINTAINERSCubic ERP
COMMITTERS
COMMITTERSOdoo Translation Bot, Turkesh Patel (Open ERP), Martin Trigaux, Fabien Pinckaers, Olivier Dony, Hardik, pso (OpenERP), Launchpad Translations on behalf of openerp, help, Cedric Snauwaert, Chirag Dodiya (OpenERP Trainee), Yury Tello, Cubic ERP
WEBSITE
WEBSITEhttp://cubicERP.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:43:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_chart
    - 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
Argentinian accounting chart and tax localization.
==================================================

Plan contable argentino e impuestos de acuerdo a disposiciones vigentes

    

Code Analysis

Views touched (0)

No views found for this module.

Models touched (0)

No models found for this module.