Repository
odoo/odoo · module folder
Module version
3.7
Category
Accounting/Localizations/Account Charts
Folder size
0.51 MB
License
LGPL-3
Application
No
Auto-installable
Yes
Website
https://www.odoo.com/documentation/latest/applications/finance/fiscal_localizations/argentina.html
Last tracking update
2026-08-07 06:46:58
Authors
ADHOC SA
Maintainers
ADHOC SA
Committers
Xavier Morel, Raphael Collet, Josse Colpaert, Odoo Translation Bot, 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, Dylan Kiss (dyki), Antoine Boonen, Xavier Bol (xbo), Arnaud Sibille, Nicolas Viseur (vin), guva-odoo, reka-odoo, yosa-odoo, kcv-odoo, Mathieu Coutant, Claire (clbr), Julia Elizondo, gteboul, Antoine Dupuis, Hesham Saleh, AhmedElemary57, Mohammad Abdulmoneim (abdu), Anton Romanova (roan), Michaël Mattiello, masm-odoo, Krzysztof Magusiak (krma), devp-odoo, Ajit Singh, krip-odoo, utma-odoo, bhra-odoo, igbe, Laurent Smet (LAS), Nisarg (nipl), Felipe Garcia Suez, Yosua Nicolaus (yoni), soza-odoo
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
l10n_ar_pos, l10n_ar_stock, l10n_ar_website_sale, l10n_ar_withholding
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 form 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 form 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 form 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 form Inherits l10n_latam_invoice_document.view_account_journal_form
view_account_move_filter account.move.filter account.move Inherits account.view_account_move_filter
view_account_position_form account.fiscal.position.form account.fiscal.position form 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 form Inherits base.view_company_form
view_currency_form res.currency.form res.currency form Inherits base.view_currency_form
view_document_type_filter l10n_latam.document.type.filter l10n_latam.document.type Inherits l10n_latam_invoice_document.view_document_type_filter
view_document_type_form l10n_latam.document.type.form l10n_latam.document.type form Inherits l10n_latam_invoice_document.view_document_type_form
view_document_type_tree l10n_latam.document.type.list l10n_latam.document.type list Inherits l10n_latam_invoice_document.view_document_type_tree
view_move_form account.move.form account.move form Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner form Inherits account.view_partner_property_form
view_res_country_form res.country.form res.country form Inherits base.view_country_form
view_res_country_tree res.country.list res.country list Inherits base.view_country_tree
view_res_partner_filter view.res.partner.filter.inherit res.partner Inherits base.view_res_partner_filter
HTTP endpoints (0)

No HTTP endpoints found for this module.

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.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…