TIP: You can type at any time to perform a new search.

Security findings

Repository
odoo/odoo · module folder
Module version
3.7
Category
Accounting/Localizations/Account Charts
Folder size
0.65 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-10-05 00:19:43
Authors
ADHOC SA
Maintainers
ADHOC SA
Committers
Raphael Collet, Thibault Delavallée, odoo, Odoo Translation Bot, Christophe Matthieu, Joren Van Onder, Julien Castiaux, Victor Feyens, oco-odoo, Anh Thao Pham (pta), Tiffany Chang (tic), Gorash, Miquel Raïch, william-andre, jbw-odoo, Mylyna Hy, Maximilien (malb), Andrew Gavgavian, Yosua Nicolaus, Levi Siuzdak (sile), Dylan Kiss (dyki), Harsh Modi, guva-odoo, reka-odoo, yosa-odoo, kcv-odoo, Mathieu Coutant, Claire (clbr), Julia Elizondo, gteboul, Antoine Dupuis, Hesham Saleh, Saif (segn), Corentin Heinix (cohe), Sherif Gabr, Mahdi Alijani (malj), Krzysztof Magusiak (krma), utma-odoo, Ester Andreetto, bhra-odoo, Yassien Ghoniem, igbe, Laurent Smet (LAS), Yagnik ✗ (yagp), h4818, Felipe Garcia Suez, Lionel Piraux (lipi), Leonardo Medina, Yosua Nicolaus (yoni), Mauricio Rubio Haro, soza-odoo, Moamen(msho)
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 info_outline

Views touched (29)
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 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
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
uom_uom_view_form uom.uom.view.form.inherit.l10n.ar uom.uom form Inherits uom.uom_uom_view_form
uom_uom_view_list uom.uom.view.list.inherit.l10n.ar uom.uom list Inherits uom.uom_uom_view_list
view_account_account_form account.account.form.inherit account.account form Inherits account.view_account_form
view_account_account_list account.account.view.list.inherit account.account list Inherits account.view_account_list
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_arca_activity_list l10n_ar.arca.activity.list l10n_ar.arca.activity list New
view_arca_activity_search l10n_ar.arca.activity.search l10n_ar.arca.activity search 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 (22)

New fields (1)
  • l10n_ar_arca_activity_id Many2one → l10n_ar.arca.activity
    help="Argentina: This field is to associate a specific activity to use with this account. If not set, the company's default activity will be used.The activity will be used to when generating ARCA VAT reports." string='Associated ARCA Activity' args: 'l10n_ar.arca.activity'
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 (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 (0)

No public methods.

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)
  • code Char
    help='Activity Code' required=True
  • name Char
    help='Activity Description' required=True
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 (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_arca_activity_id Many2one → l10n_ar.arca.activity
    help='Principal registered activity of the company. This is used to generate the IVA Simple CSV Tax Reports.' string='Principal Activity' args: 'l10n_ar.arca.activity'
  • 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 (1)
  • l10n_ar_arca_activity_id Many2one → l10n_ar.arca.activity
    readonly=False related='company_id.l10n_ar_arca_activity_id' args: 'l10n_ar.arca.activity'
Public methods (0)

No public methods.

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 (6)
  • l10n_ar_afip_code Char
    compute='_compute_l10n_ar_afip_identification' help='AFIP catalog code (catálogo A4) derived from the partner identifiers.' store=True string='AFIP Identification Code'
  • l10n_ar_afip_id_value Char
    compute='_compute_l10n_ar_afip_identification' help='Identification number reported to AFIP.' store=True string='AFIP Identification Number'
  • 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 CUIT 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'
Public methods (2)
  • 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
  • write(self, vals)

New fields (1)
  • account_type Selection
    selection_add=[('cbu', 'CBU')]
Public methods (1)
  • retrieve_account_type(self, account_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…

Loading…