summaryrefslogtreecommitdiff
path: root/addons/l10n_ar/demo
diff options
context:
space:
mode:
Diffstat (limited to 'addons/l10n_ar/demo')
-rw-r--r--addons/l10n_ar/demo/account_customer_invoice_demo.xml332
-rw-r--r--addons/l10n_ar/demo/account_customer_refund_demo.xml34
-rw-r--r--addons/l10n_ar/demo/account_supplier_invoice_demo.xml315
-rw-r--r--addons/l10n_ar/demo/account_supplier_refund_demo.xml24
-rw-r--r--addons/l10n_ar/demo/account_tax_demo.xml102
-rwxr-xr-xaddons/l10n_ar/demo/adhoc_jjs.jpegbin0 -> 20920 bytes
-rw-r--r--addons/l10n_ar/demo/adhoc_logo.pngbin0 -> 13521 bytes
-rw-r--r--addons/l10n_ar/demo/cerrocastor_logo.pngbin0 -> 8033 bytes
-rw-r--r--addons/l10n_ar/demo/cmr_logo.jpgbin0 -> 7807 bytes
-rw-r--r--addons/l10n_ar/demo/exento_demo.xml53
-rw-r--r--addons/l10n_ar/demo/expresso_logo.pngbin0 -> 4857 bytes
-rwxr-xr-xaddons/l10n_ar/demo/gritti_logo.pngbin0 -> 16773 bytes
-rw-r--r--addons/l10n_ar/demo/mono_demo.xml53
-rw-r--r--addons/l10n_ar/demo/odoo_logo.jpgbin0 -> 7746 bytes
-rw-r--r--addons/l10n_ar/demo/product_product_demo.xml109
-rw-r--r--addons/l10n_ar/demo/res_partner_demo.xml157
-rw-r--r--addons/l10n_ar/demo/res_users_demo.xml9
-rw-r--r--addons/l10n_ar/demo/respinsc_demo.xml62
18 files changed, 1250 insertions, 0 deletions
diff --git a/addons/l10n_ar/demo/account_customer_invoice_demo.xml b/addons/l10n_ar/demo/account_customer_invoice_demo.xml
new file mode 100644
index 00000000..0188fce4
--- /dev/null
+++ b/addons/l10n_ar/demo/account_customer_invoice_demo.xml
@@ -0,0 +1,332 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo noupdate="True">
+
+ <!-- TODO This demo data is for functional testing and demo but also was used for tests. Test cases should be moved to proper tests -->
+ <!-- TODO also, once written the proper tests, we should remove price and name information from lines because it is overwriten by "_onchange_product_id" method. That methods is called to set taxes and uom from products -->
+ <!-- Invoice to gritti support service, vat 21 -->
+ <record id="demo_invoice_1" model="account.move">
+ <field name="partner_id" ref="res_partner_gritti_agrimensura"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-01'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 642.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to CMR with vat 21, 27 and 10,5 -->
+ <record id="demo_invoice_2" model="account.move">
+ <field name="partner_id" ref="res_partner_cmr"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-05'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ (0, 0, {'product_id': ref('product_product_telefonia'), 'price_unit': 250.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product.product_product_25'), 'price_unit': 3245.0, 'quantity': 2}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to ADHOC with vat cero and 21 -->
+ <record id="demo_invoice_3" model="account.move">
+ <field name="partner_id" ref="l10n_ar.res_partner_adhoc"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-01'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ (0, 0, {'product_id': ref('product_product_cero'), 'price_unit': 200.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to ADHOC with vat exempt and 21 -->
+ <record id="demo_invoice_4" model="account.move">
+ <field name="partner_id" ref="l10n_ar.res_partner_adhoc"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-01'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ (0, 0, {'product_id': ref('product_product_exento'), 'price_unit': 100.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to ADHOC with all type of taxes -->
+ <record id="demo_invoice_5" model="account.move">
+ <field name="partner_id" ref="l10n_ar.res_partner_adhoc"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-13'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ (0, 0, {'product_id': ref('product_product_telefonia'), 'price_unit': 250.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product.product_product_25'), 'price_unit': 3245.0, 'quantity': 2}),
+ (0, 0, {'product_id': ref('product_product_no_gravado'), 'price_unit': 50.0, 'quantity': 10}),
+ (0, 0, {'product_id': ref('product_product_cero'), 'price_unit': 200.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product_product_exento'), 'price_unit': 100.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to cerro castor, fiscal position changes taxes to exempt -->
+ <record id="demo_invoice_6" model="account.move">
+ <field name="partner_id" ref="res_partner_cerrocastor"/>
+ <field name="journal_id" ref="l10n_ar.sale_expo_journal_ri"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-03'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_incoterm_id" ref="account.incoterm_EXW"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ (0, 0, {'product_id': ref('product_product_telefonia'), 'price_unit': 250.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product.product_product_25'), 'price_unit': 3245.0, 'quantity': 2}),
+ (0, 0, {'product_id': ref('product_product_no_gravado'), 'price_unit': 50.0, 'quantity': 10}),
+ (0, 0, {'product_id': ref('product_product_cero'), 'price_unit': 200.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product_product_exento'), 'price_unit': 100.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Export invoice to expresso, fiscal position changes tax to exempt (type 4 because it have services) -->
+ <record id="demo_invoice_7" model="account.move">
+ <field name="partner_id" ref="res_partner_expresso"/>
+ <field name="journal_id" ref="l10n_ar.sale_expo_journal_ri"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-03'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_incoterm_id" ref="account.incoterm_EXW"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ (0, 0, {'product_id': ref('product_product_telefonia'), 'price_unit': 250.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product.product_product_25'), 'price_unit': 3245.0, 'quantity': 2}),
+ (0, 0, {'product_id': ref('product_product_no_gravado'), 'price_unit': 50.0, 'quantity': 10}),
+ (0, 0, {'product_id': ref('product_product_cero'), 'price_unit': 200.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product_product_exento'), 'price_unit': 100.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to consumidor final -->
+ <record id="demo_invoice_8" model="account.move">
+ <field name="partner_id" ref="l10n_ar.par_cfa"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-13'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 642.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to ADHOC in USD and vat 21 -->
+ <record id="demo_invoice_10" model="account.move">
+ <field name="partner_id" ref="l10n_ar.res_partner_adhoc"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-13'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 1000.0, 'quantity': 5}),
+ ]"/>
+ <field name="currency_id" ref="base.USD"/>
+ </record>
+
+ <!-- Invoice to ADHOC with many lines in order to prove rounding error, with 4 decimals of precision for the currency and 2 decimals for the product the error apperar -->
+ <record id="demo_invoice_11" model="account.move">
+ <field name="partner_id" ref="l10n_ar.res_partner_adhoc"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-13'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 1.12, 'quantity': 1, 'name': 'Support Services 1'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 1.12, 'quantity': 1, 'name': 'Support Services 2'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 1.12, 'quantity': 1, 'name': 'Support Services 3'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 1.12, 'quantity': 1, 'name': 'Support Services 4'}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to ADHOC with many lines in order to test rounding error, it is required to use a 4 decimal precision in prodct in order to the error occur -->
+ <record id="demo_invoice_12" model="account.move">
+ <field name="partner_id" ref="l10n_ar.res_partner_adhoc"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-13'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 15.7076, 'quantity': 1, 'name': 'Support Services 1'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 5.3076, 'quantity': 2, 'name': 'Support Services 2'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 3.5384, 'quantity': 2, 'name': 'Support Services 3'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 1.6376, 'quantity': 2, 'name': 'Support Services 4'}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to ADHOC with many lines in order to test zero amount invoices y rounding error. it is required to set the product decimal precision to 4 and change 260.59 for 260.60 in order to reproduce the error -->
+ <record id="demo_invoice_13" model="account.move">
+ <field name="partner_id" ref="l10n_ar.res_partner_adhoc"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-13'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 24.3, 'quantity': 3, 'name': 'Support Services 1'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 260.59, 'quantity': -1, 'name': 'Support Services 2'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 48.72, 'quantity': 1, 'name': 'Support Services 3'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 13.666, 'quantity': 1, 'name': 'Support Services 4'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 11.329, 'quantity': 2, 'name': 'Support Services 5'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 68.9408, 'quantity': 1, 'name': 'Support Services 6'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 4.7881, 'quantity': 2, 'name': 'Support Services 7'}),
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 12.0625, 'quantity': 2, 'name': 'Support Services 8'}),
+ ]"/>
+ </record>
+
+ <!-- Export invoice to expresso, fiscal position changes tax to exempt (type 1 because only products) -->
+ <record id="demo_invoice_14" model="account.move">
+ <field name="partner_id" ref="res_partner_expresso"/>
+ <field name="journal_id" ref="l10n_ar.sale_expo_journal_ri"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-20'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_incoterm_id" ref="account.incoterm_EXW"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ ]"/>
+ </record>
+
+ <!-- Export invoice to expresso, fiscal position changes tax to exempt (type 2 because only service) -->
+ <record id="demo_invoice_15" model="account.move">
+ <field name="partner_id" ref="res_partner_expresso"/>
+ <field name="journal_id" ref="l10n_ar.sale_expo_journal_ri"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-20'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_incoterm_id" ref="account.incoterm_EXW"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product_product_telefonia'), 'price_unit': 250.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Export invoice to expresso, fiscal position changes tax to exempt (type 1 because it have products only, used to test refund of expo) -->
+ <record id="demo_invoice_16" model="account.move">
+ <field name="partner_id" ref="res_partner_expresso"/>
+ <field name="journal_id" ref="l10n_ar.sale_expo_journal_ri"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-22'"/>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-01'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_incoterm_id" ref="account.incoterm_EXW"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to ADHOC with 100% of discount -->
+ <record id="demo_invoice_17" model="account.move">
+ <field name="partner_id" ref="l10n_ar.res_partner_adhoc"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-13'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 24.3, 'quantity': 3, 'name': 'Support Services 8', 'discount': 100}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to ADHOC with 100% of discount and with different VAT aliquots -->
+ <record id="demo_invoice_18" model="account.move">
+ <field name="partner_id" ref="l10n_ar.res_partner_adhoc"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-13'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 24.3, 'quantity': 3, 'name': 'Support Services 8', 'discount': 100}),
+ (0, 0, {'product_id': ref('product_product_telefonia'), 'price_unit': 250.0, 'quantity': 1, 'discount': 100}),
+ (0, 0, {'product_id': ref('product.product_product_25'), 'price_unit': 3245.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to ADHOC with multiple taxes and perceptions -->
+ <record id="demo_invoice_19" model="account.move">
+ <field name="partner_id" ref="l10n_ar.res_partner_adhoc"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">out_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-13'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 24.3, 'quantity': 3, 'name': 'Support Services 8'}),
+ (0, 0, {'product_id': ref('product_product_telefonia'), 'price_unit': 250.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product.product_product_25'), 'price_unit': 3245.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <function model="account.move.line" name="_onchange_product_id" context="{'check_move_validity': False}">
+ <value model="account.move.line" eval="obj().search([('move_id', 'in', [ref('demo_invoice_1'), ref('demo_invoice_2'), ref('demo_invoice_3'), ref('demo_invoice_4'), ref('demo_invoice_5'), ref('demo_invoice_6'), ref('demo_invoice_7'), ref('demo_invoice_8'), ref('demo_invoice_10'), ref('demo_invoice_11'), ref('demo_invoice_12'), ref('demo_invoice_13'), ref('demo_invoice_14'), ref('demo_invoice_15'), ref('demo_invoice_16'), ref('demo_invoice_17'), ref('demo_invoice_18'), ref('demo_invoice_19')])]).ids"/>
+ </function>
+
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_invoice_6')]"/>
+ </function>
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_invoice_7')]"/>
+ </function>
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_invoice_14')]"/>
+ </function>
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_invoice_15')]"/>
+ </function>
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_invoice_16')]"/>
+ </function>
+
+ <function model="account.move.line" name="write" context="{'check_move_validity': False, 'active_test': False}">
+ <value model="account.move.line" search="[('move_id', '=', ref('demo_invoice_19')), ('product_id', '=', ref('product.product_product_2'))]"/>
+ <value model="account.tax" eval="{'tax_ids': [(4, obj().search([('company_id', '=', ref('company_ri')), ('type_tax_use', '=', 'sale'), ('tax_group_id.l10n_ar_tribute_afip_code', '=', '06')], limit=1).id)]}"/>
+ </function>
+
+ <function model="account.move.line" name="write" context="{'check_move_validity': False, 'active_test': False}">
+ <value model="account.move.line" search="[('move_id', '=', ref('demo_invoice_19')), ('product_id', '=', ref('product_product_telefonia'))]"/>
+ <value model="account.tax" eval="{'tax_ids': [(4, obj().search([('company_id', '=', ref('company_ri')), ('type_tax_use', '=', 'sale'), ('tax_group_id.l10n_ar_tribute_afip_code', '=', '07')], limit=1).id)]}"/>
+ </function>
+
+ <function model="account.move.line" name="write" context="{'check_move_validity': False, 'active_test': False}">
+ <value model="account.move.line" search="[('move_id', '=', ref('demo_invoice_19')), ('product_id', '=', ref('product.product_product_25'))]"/>
+ <value model="account.tax" eval="{'tax_ids': [(4, obj().search([('company_id', '=', ref('company_ri')), ('type_tax_use', '=', 'sale'), ('tax_group_id.l10n_ar_tribute_afip_code', '=', '99')], limit=1).id)]}"/>
+ </function>
+
+ <function model="account.move" name="_recompute_dynamic_lines" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_invoice_1'), ref('demo_invoice_2'), ref('demo_invoice_3'), ref('demo_invoice_4'), ref('demo_invoice_5'), ref('demo_invoice_6'), ref('demo_invoice_7'), ref('demo_invoice_8'), ref('demo_invoice_10'), ref('demo_invoice_11'), ref('demo_invoice_12'), ref('demo_invoice_13'), ref('demo_invoice_14'), ref('demo_invoice_15'), ref('demo_invoice_16'), ref('demo_invoice_17'), ref('demo_invoice_18'), ref('demo_invoice_19')]"/>
+ <value eval="True"/>
+ </function>
+
+ <function model="account.move" name="action_post">
+ <value eval="[ref('demo_invoice_1'), ref('demo_invoice_2'), ref('demo_invoice_3'), ref('demo_invoice_4'), ref('demo_invoice_5'), ref('demo_invoice_6'), ref('demo_invoice_7'), ref('demo_invoice_8'), ref('demo_invoice_10'), ref('demo_invoice_11'), ref('demo_invoice_12'), ref('demo_invoice_13'), ref('demo_invoice_14'), ref('demo_invoice_15'), ref('demo_invoice_16'), ref('demo_invoice_17'), ref('demo_invoice_18'), ref('demo_invoice_19')]"/>
+ </function>
+
+</odoo>
diff --git a/addons/l10n_ar/demo/account_customer_refund_demo.xml b/addons/l10n_ar/demo/account_customer_refund_demo.xml
new file mode 100644
index 00000000..dd12a6b7
--- /dev/null
+++ b/addons/l10n_ar/demo/account_customer_refund_demo.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo noupdate="True">
+
+ <!-- Create draft refund for invoice 3 -->
+ <record id="demo_refund_invoice_3" model="account.move.reversal">
+ <field name="reason">Mercadería defectuosa</field>
+ <field name="refund_method">refund</field>
+ <field name="move_ids" eval="[(4, ref('demo_invoice_3'), 0)]"/>
+ <field name="date" eval="time.strftime('%Y-%m')+'-01'"/>
+ </record>
+
+ <function model="account.move.reversal" name="reverse_moves" eval="[ref('demo_refund_invoice_3')]"/>
+
+ <!-- Create draft refund for invoice 4 -->
+ <record id="demo_refund_invoice_4" model="account.move.reversal">
+ <field name="reason">Venta cancelada</field>
+ <field name="refund_method">cancel</field>
+ <field name="move_ids" eval="[(4, ref('demo_invoice_4'), 0)]"/>
+ <field name="date" eval="time.strftime('%Y-%m')+'-01'"/>
+ </record>
+
+ <function model="account.move.reversal" name="reverse_moves" eval="[ref('demo_refund_invoice_4')]"/>
+
+ <!-- Create cancel refund for expo invoice 16 (las nc/nd expo invoice no requiere parametro permiso existennte, por eso agregamos este ejemplo) -->
+ <record id="demo_refund_invoice_16" model="account.move.reversal">
+ <field name="reason">Venta cancelada</field>
+ <field name="refund_method">cancel</field>
+ <field name="move_ids" eval="[(4, ref('demo_invoice_16'), 0)]"/>
+ <field name="date" eval="time.strftime('%Y-%m')+'-01'"/>
+ </record>
+
+ <function model="account.move.reversal" name="reverse_moves" eval="[ref('demo_refund_invoice_16')]"/>
+
+</odoo>
diff --git a/addons/l10n_ar/demo/account_supplier_invoice_demo.xml b/addons/l10n_ar/demo/account_supplier_invoice_demo.xml
new file mode 100644
index 00000000..b9f4d886
--- /dev/null
+++ b/addons/l10n_ar/demo/account_supplier_invoice_demo.xml
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo noupdate="True">
+
+ <!-- we add l10n_latam_document_number on on a separete line because we need l10n_latam_document_type_id to be auto assigned so that account.move.name can be computed with the _inverse_l10n_latam_document_number -->
+
+ <!-- Invoice from gritti support service, auto fiscal position set VAT Not Applicable -->
+ <record id="demo_sup_invoice_1" model="account.move">
+ <field name="partner_id" ref="res_partner_gritti_agrimensura"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">in_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-01'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 642.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ (0, 0, {'product_id': ref('product_product_telefonia'), 'price_unit': 250.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product_product_no_gravado'), 'price_unit': 50.0, 'quantity': 10}),
+ (0, 0, {'product_id': ref('product_product_cero'), 'price_unit': 200.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product_product_exento'), 'price_unit': 100.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Invoice from Foreign with vat 21, 27 and 10,5 -->
+ <record id="demo_sup_invoice_2" model="account.move">
+ <field name="partner_id" ref="res_partner_foreign"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">in_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-01'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ (0, 0, {'product_id': ref('product_product_telefonia'), 'price_unit': 250.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product.product_product_25'), 'price_unit': 3245.0, 'quantity': 2}),
+ ]"/>
+ </record>
+
+ <!-- Invoice from Foreign with vat zero and 21 -->
+ <record id="demo_sup_invoice_3" model="account.move">
+ <field name="partner_id" ref="res_partner_foreign"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">in_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-11'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ (0, 0, {'product_id': ref('product_product_cero'), 'price_unit': 200.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to Foreign with vat exempt and 21 -->
+ <record id="demo_sup_invoice_4" model="account.move">
+ <field name="partner_id" ref="res_partner_foreign"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">in_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-15'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ (0, 0, {'product_id': ref('product_product_exento'), 'price_unit': 100.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to Foreign with all type of taxes -->
+ <record id="demo_sup_invoice_5" model="account.move">
+ <field name="partner_id" ref="res_partner_foreign"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">in_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-18'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ (0, 0, {'product_id': ref('product_product_telefonia'), 'price_unit': 250.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product.product_product_25'), 'price_unit': 3245.0, 'quantity': 2}),
+ (0, 0, {'product_id': ref('product_product_no_gravado'), 'price_unit': 50.0, 'quantity': 10}),
+ (0, 0, {'product_id': ref('product_product_cero'), 'price_unit': 200.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product_product_exento'), 'price_unit': 100.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Service Import to Odoo, fiscal position changes tax not correspond -->
+ <record id="demo_sup_invoice_6" model="account.move">
+ <field name="partner_id" ref="res_partner_odoo"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">in_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-26'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 1642.0, 'quantity': 1}),
+ ]"/>
+ </record>
+
+ <!-- Similar to last one but with line that have tax not correspond with negative amount -->
+ <record id="demo_sup_invoice_7" model="account.move">
+ <field name="partner_id" ref="res_partner_odoo"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">in_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-27'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_2'), 'price_unit': 1642.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product_product_no_gravado'), 'price_unit': -50.0, 'quantity': 10}),
+ ]"/>
+ </record>
+
+ <!-- Invoice to ADHOC with multiple taxes and perceptions -->
+ <record id="demo_sup_invoice_8" model="account.move">
+ <field name="partner_id" ref="l10n_ar.res_partner_adhoc"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">in_invoice</field>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-01'"/>
+ <field name="company_id" ref="company_ri"/>
+ <field name="invoice_line_ids" eval="[
+ (0, 0, {'product_id': ref('product.product_product_27'), 'price_unit': 642.0, 'quantity': 5}),
+ (0, 0, {'product_id': ref('product_product_telefonia'), 'price_unit': 250.0, 'quantity': 1}),
+ (0, 0, {'product_id': ref('product.product_product_25'), 'price_unit': 3245.0, 'quantity': 2}),
+ ]"/>
+ </record>
+
+ <!-- Import Cleareance -->
+ <record id="demo_despacho_1" model="account.move">
+ <field name="partner_id" ref="l10n_ar.partner_afip"/>
+ <field name="invoice_user_id" ref="base.user_demo"/>
+ <field name="invoice_payment_term_id" ref="account.account_payment_term_end_following_month"/>
+ <field name="move_type">in_invoice</field>
+ <!-- as we create lines separatelly we need to set journal, if not, misc journal is selected -->
+ <field name="journal_id" model="account.journal" search="[('type', '=', 'purchase'), ('company_id', '=', obj().env.company.id)]"/>
+ <field name="invoice_date" eval="time.strftime('%Y-%m')+'-13'"/>
+ <field name="company_id" ref="company_ri"/>
+ </record>
+ <!-- create this lines manually to set taxes and prices -->
+ <record id="demo_despacho_1_line_1" model="account.move.line" context="{'check_move_validity': False}">
+ <field name="move_id" ref="demo_despacho_1"/>
+ <field name="price_unit">5064.98</field>
+ <field name="name">[AFIP_DESPACHO] Despacho de importación</field>
+ <field name="quantity">1</field>
+ <field name="product_id" ref="l10n_ar.product_product_quote_despacho"/>
+ <field name="product_uom_id" ref="uom.product_uom_unit"/>
+ <field name="tax_ids" model="account.tax" eval="[(6, 0, obj().search([('company_id', '=', obj().env.ref('l10n_ar.company_ri').id), ('name', '=', 'IVA 21%'), ('type_tax_use', '=', 'purchase')], limit=1).ids)]"/>
+ <field name="account_id" model="account.move.line" eval="obj().env.ref('l10n_ar.product_product_quote_despacho').categ_id.property_account_income_categ_id.id"/>
+ </record>
+ <record id="demo_despacho_1_line_2" model="account.move.line" context="{'check_move_validity': False}">
+ <field name="move_id" ref="demo_despacho_1"/>
+ <field name="price_unit">152.08</field>
+ <field name="name">[AFIP_TASA_EST] Tasa Estadística</field>
+ <field name="quantity">1</field>
+ <field name="product_id" ref="l10n_ar.product_product_tasa_estadistica"/>
+ <field name="product_uom_id" ref="uom.product_uom_unit"/>
+ <field name="tax_ids" model="account.tax" eval="[(6, 0, obj().search([('company_id', '=', obj().env.ref('l10n_ar.company_ri').id), ('name', '=', 'IVA 21%'), ('type_tax_use', '=', 'purchase')], limit=1).ids)]"/>
+ <field name="account_id" model="account.move.line" eval="obj().env.ref('l10n_ar.product_product_tasa_estadistica').categ_id.property_account_income_categ_id.id"/>
+ </record>
+ <record id="demo_despacho_1_line_3" model="account.move.line" context="{'check_move_validity': False}">
+ <field name="move_id" ref="demo_despacho_1"/>
+ <field name="price_unit">10.0</field>
+ <field name="name">[AFIP_ARANCEL] Arancel</field>
+ <field name="quantity">1</field>
+ <field name="product_id" ref="l10n_ar.product_product_arancel"/>
+ <field name="product_uom_id" ref="uom.product_uom_unit"/>
+ <field name="tax_ids" model="account.tax" eval="[(6, 0, obj().search([('company_id', '=', obj().env.ref('l10n_ar.company_ri').id), ('name', '=', 'IVA No Gravado'), ('type_tax_use', '=', 'purchase')], limit=1).ids)]"/>
+ <field name="account_id" model="account.move.line" eval="obj().env.ref('l10n_ar.product_product_arancel').categ_id.property_account_income_categ_id.id"/>
+ </record>
+ <record id="demo_despacho_1_line_4" model="account.move.line" context="{'check_move_validity': False}">
+ <field name="move_id" ref="demo_despacho_1"/>
+ <field name="price_unit">28.00</field>
+ <field name="name">[AFIP_SERV_GUARDA] Servicio de Guarda</field>
+ <field name="quantity">1</field>
+ <field name="product_id" ref="l10n_ar.product_product_servicio_de_guarda"/>
+ <field name="product_uom_id" ref="uom.product_uom_unit"/>
+ <field name="tax_ids" model="account.tax" eval="[(6, 0, obj().search([('company_id', '=', obj().env.ref('l10n_ar.company_ri').id), ('name', '=', 'IVA No Gravado'), ('type_tax_use', '=', 'purchase')], limit=1).ids)]"/>
+ <field name="account_id" model="account.move.line" eval="obj().env.ref('l10n_ar.product_product_servicio_de_guarda').categ_id.property_account_income_categ_id.id"/>
+ </record>
+ <record id="demo_despacho_1_line_5" model="account.move.line" context="{'check_move_validity': False}">
+ <field name="name">FOB Total</field>
+ <field name="move_id" ref="demo_despacho_1"/>
+ <field name="price_unit">28936.06</field>
+ <field name="quantity">1</field>
+ <field name="product_uom_id" ref="uom.product_uom_unit"/>
+ <field name="tax_ids" model="account.tax" eval="[(6, 0, obj().search([('company_id', '=', obj().env.ref('l10n_ar.company_ri').id), ('name', '=', 'IVA 21%'), ('type_tax_use', '=', 'purchase')], limit=1).ids)]"/>
+ <field name="account_id" model="account.move.line" eval="obj().env.ref('product.product_category_all').property_account_income_categ_id.id"/>
+ </record>
+ <record id="demo_despacho_1_line_6" model="account.move.line" context="{'check_move_validity': False}">
+ <field name="name">Flete</field>
+ <field name="move_id" ref="demo_despacho_1"/>
+ <field name="price_unit">1350.00</field>
+ <field name="quantity">1</field>
+ <field name="product_uom_id" ref="uom.product_uom_unit"/>
+ <field name="tax_ids" model="account.tax" eval="[(6, 0, obj().search([('company_id', '=', obj().env.ref('l10n_ar.company_ri').id), ('name', '=', 'IVA 21%'), ('type_tax_use', '=', 'purchase')], limit=1).ids)]"/>
+ <field name="account_id" model="account.move.line" eval="obj().env.ref('product.product_category_all').property_account_income_categ_id.id"/>
+ </record>
+ <record id="demo_despacho_1_line_7" model="account.move.line" context="{'check_move_validity': False}">
+ <field name="name">Seguro</field>
+ <field name="move_id" ref="demo_despacho_1"/>
+ <field name="price_unit">130.21</field>
+ <field name="quantity">1</field>
+ <field name="product_uom_id" ref="uom.product_uom_unit"/>
+ <field name="tax_ids" model="account.tax" eval="[(6, 0, obj().search([('company_id', '=', obj().env.ref('l10n_ar.company_ri').id), ('name', '=', 'IVA 21%'), ('type_tax_use', '=', 'purchase')], limit=1).ids)]"/>
+ <field name="account_id" model="account.move.line" eval="obj().env.ref('product.product_category_all').property_account_income_categ_id.id"/>
+ </record>
+ <record id="demo_despacho_1_line_8" model="account.move.line" context="{'check_move_validity': False}">
+ <field name="name">-FOB Total</field>
+ <field name="move_id" ref="demo_despacho_1"/>
+ <field name="price_unit">-28936.06</field>
+ <field name="quantity">1</field>
+ <field name="product_uom_id" ref="uom.product_uom_unit"/>
+ <field name="tax_ids" model="account.tax" eval="[(6, 0, obj().search([('company_id', '=', obj().env.ref('l10n_ar.company_ri').id), ('name', '=', 'IVA No Gravado'), ('type_tax_use', '=', 'purchase')], limit=1).ids)]"/>
+ <field name="account_id" model="account.move.line" eval="obj().env.ref('product.product_category_all').property_account_income_categ_id.id"/>
+ </record>
+ <record id="demo_despacho_1_line_9" model="account.move.line" context="{'check_move_validity': False}">
+ <field name="name">-Flete</field>
+ <field name="move_id" ref="demo_despacho_1"/>
+ <field name="price_unit">-1350.00</field>
+ <field name="quantity">1</field>
+ <field name="product_uom_id" ref="uom.product_uom_unit"/>
+ <field name="tax_ids" model="account.tax" eval="[(6, 0, obj().search([('company_id', '=', obj().env.ref('l10n_ar.company_ri').id), ('name', '=', 'IVA No Gravado'), ('type_tax_use', '=', 'purchase')], limit=1).ids)]"/>
+ <field name="account_id" model="account.move.line" eval="obj().env.ref('product.product_category_all').property_account_income_categ_id.id"/>
+ </record>
+ <record id="demo_despacho_1_line_10" model="account.move.line" context="{'check_move_validity': False}">
+ <field name="name">-Seguro</field>
+ <field name="move_id" ref="demo_despacho_1"/>
+ <field name="price_unit">-130.21</field>
+ <field name="quantity">1</field>
+ <field name="product_uom_id" ref="uom.product_uom_unit"/>
+ <field name="tax_ids" model="account.tax" eval="[(6, 0, obj().search([('company_id', '=', obj().env.ref('l10n_ar.company_ri').id), ('name', '=', 'IVA No Gravado'), ('type_tax_use', '=', 'purchase')], limit=1).ids)]"/>
+ <field name="account_id" model="account.move.line" eval="obj().env.ref('product.product_category_all').property_account_income_categ_id.id"/>
+ </record>
+
+ <record id="demo_sup_invoice_1" model="account.move">
+ <field name="l10n_latam_document_number">0001-00000008</field>
+ </record>
+ <record id="demo_sup_invoice_2" model="account.move">
+ <field name="l10n_latam_document_number">0002-00000123</field>
+ </record>
+ <record id="demo_sup_invoice_3" model="account.move">
+ <field name="l10n_latam_document_number">0003-00000312</field>
+ </record>
+ <record id="demo_sup_invoice_4" model="account.move">
+ <field name="l10n_latam_document_number">0001-00000200</field>
+ </record>
+ <record id="demo_sup_invoice_5" model="account.move">
+ <field name="l10n_latam_document_number">0001-00000222</field>
+ </record>
+ <record id="demo_sup_invoice_6" model="account.move">
+ <field name="l10n_latam_document_number">0001-00000333</field>
+ </record>
+ <record id="demo_sup_invoice_7" model="account.move">
+ <field name="l10n_latam_document_number">0001-00000334</field>
+ </record>
+ <record id="demo_sup_invoice_8" model="account.move">
+ <field name="l10n_latam_document_number">0001-00000335</field>
+ </record>
+ <record id="demo_despacho_1" model="account.move">
+ <field name="l10n_latam_document_number">16052IC04000605L</field>
+ </record>
+
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_sup_invoice_1')]"/>
+ </function>
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_sup_invoice_2')]"/>
+ </function>
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_sup_invoice_3')]"/>
+ </function>
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_sup_invoice_4')]"/>
+ </function>
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_sup_invoice_5')]"/>
+ </function>
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_sup_invoice_6')]"/>
+ </function>
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_sup_invoice_7')]"/>
+ </function>
+ <function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_despacho_1')]"/>
+ </function>
+
+ <function model="account.move.line" name="_onchange_product_id" context="{'check_move_validity': False}">
+ <value model="account.move.line" eval="obj().search([('move_id', 'in', [ref('demo_sup_invoice_1'), ref('demo_sup_invoice_2'), ref('demo_sup_invoice_3'), ref('demo_sup_invoice_4'), ref('demo_sup_invoice_5'), ref('demo_sup_invoice_6'), ref('demo_sup_invoice_7'), ref('demo_sup_invoice_8')])]).ids"/>
+ </function>
+
+ <function model="account.move.line" name="write" context="{'check_move_validity': False, 'active_test': False}">
+ <value model="account.move.line" search="[('move_id', '=', ref('demo_sup_invoice_8')), ('product_id', '=', ref('product.product_product_27'))]"/>
+ <value model="account.tax" eval="{'tax_ids': [(4, obj().search([('company_id', '=', ref('company_ri')), ('type_tax_use', '=', 'purchase'), ('tax_group_id.l10n_ar_tribute_afip_code', '=', '06')], limit=1).id)]}"/>
+ </function>
+
+ <function model="account.move.line" name="write" context="{'check_move_validity': False, 'active_test': False}">
+ <value model="account.move.line" search="[('move_id', '=', ref('demo_sup_invoice_8')), ('product_id', '=', ref('product_product_telefonia'))]"/>
+ <value model="account.tax" eval="{'tax_ids': [(4, obj().search([('company_id', '=', ref('company_ri')), ('type_tax_use', '=', 'purchase'), ('tax_group_id.l10n_ar_tribute_afip_code', '=', '07')], limit=1).id)]}"/>
+ </function>
+
+ <function model="account.move.line" name="write" context="{'check_move_validity': False, 'active_test': False}">
+ <value model="account.move.line" search="[('move_id', '=', ref('demo_sup_invoice_8')), ('product_id', '=', ref('product.product_product_25'))]"/>
+ <value model="account.tax" eval="{'tax_ids': [(4, obj().search([('company_id', '=', ref('company_ri')), ('type_tax_use', '=', 'purchase'), ('tax_group_id.l10n_ar_tribute_afip_code', '=', '99')], limit=1).id)]}"/>
+ </function>
+
+ <function model="account.move" name="_recompute_dynamic_lines" context="{'check_move_validity': False}">
+ <value eval="[ref('demo_sup_invoice_1'), ref('demo_sup_invoice_2'), ref('demo_sup_invoice_3'), ref('demo_sup_invoice_4'), ref('demo_sup_invoice_5'), ref('demo_sup_invoice_6'), ref('demo_sup_invoice_7'), ref('demo_sup_invoice_8'), ref('demo_despacho_1')]"/>
+ <value eval="True"/>
+ </function>
+
+ <function model="account.move" name="action_post">
+ <value eval="[ref('demo_sup_invoice_1'), ref('demo_sup_invoice_2'), ref('demo_sup_invoice_3'), ref('demo_sup_invoice_4'), ref('demo_sup_invoice_5'), ref('demo_sup_invoice_6'), ref('demo_sup_invoice_7'), ref('demo_sup_invoice_8'), ref('demo_despacho_1')]"/>
+ </function>
+
+</odoo>
diff --git a/addons/l10n_ar/demo/account_supplier_refund_demo.xml b/addons/l10n_ar/demo/account_supplier_refund_demo.xml
new file mode 100644
index 00000000..631e30ba
--- /dev/null
+++ b/addons/l10n_ar/demo/account_supplier_refund_demo.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo noupdate="True">
+
+ <!-- Create draft refund for invoice 3 -->
+ <record id="demo_sup_refund_invoice_3" model="account.move.reversal">
+ <field name="reason">Mercadería defectuosa</field>
+ <field name="refund_method">refund</field>
+ <field name="l10n_latam_document_number">0001-01234567</field>
+ <field name="move_ids" eval="[(4, ref('demo_sup_invoice_3'), 0)]"/>
+ </record>
+
+ <function model="account.move.reversal" name="reverse_moves" eval="[ref('demo_sup_refund_invoice_3')]"/>
+
+ <!-- Create draft refund for invoice 4 -->
+ <record id="demo_sup_refund_invoice_4" model="account.move.reversal">
+ <field name="reason">Venta cancelada</field>
+ <field name="refund_method">cancel</field>
+ <field name="l10n_latam_document_number">0001-01234566</field>
+ <field name="move_ids" eval="[(4, ref('demo_sup_invoice_4'), 0)]"/>
+ </record>
+
+ <function model="account.move.reversal" name="reverse_moves" eval="[ref('demo_sup_refund_invoice_4')]"/>
+
+</odoo>
diff --git a/addons/l10n_ar/demo/account_tax_demo.xml b/addons/l10n_ar/demo/account_tax_demo.xml
new file mode 100644
index 00000000..66da1198
--- /dev/null
+++ b/addons/l10n_ar/demo/account_tax_demo.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<odoo>
+
+ <record id="ri_tax_other_taxes_ventas" model="account.tax">
+ <field name="name">Other Tax</field>
+ <field name="description">Other Tax</field>
+ <field name="sequence">4</field>
+ <field name="amount_type">fixed</field>
+ <field name="amount" eval="0.1"/>
+ <field name="invoice_repartition_line_ids" model="account.account" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ }),
+
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': obj().search([
+ ('company_id', '=', obj().env.ref('l10n_ar.company_ri').id),
+ ('group_id', '=', obj().env.ref('l10n_ar.account_group_otros_impuestos').id)
+ ], limit=1).id,
+ }),
+ ]"/>
+ <field name="refund_repartition_line_ids" model="account.account" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ }),
+
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': obj().search([
+ ('company_id', '=', obj().env.ref('l10n_ar.company_ri').id),
+ ('group_id', '=', obj().env.ref('l10n_ar.account_group_otros_impuestos').id)
+ ], limit=1).id,
+ }),
+ ]"/>
+ <field name="type_tax_use">sale</field>
+ <field name="tax_group_id" ref="account.tax_group_taxes"/>
+ <field name="company_id" ref="l10n_ar.company_ri"/>
+ </record>
+
+ <record id="ri_tax_other_taxes_compras" model="account.tax">
+ <field name="name">Other Tax</field>
+ <field name="description">Other Tax</field>
+ <field name="sequence">4</field>
+ <field name="amount_type">fixed</field>
+ <field name="amount" eval="0.1"/>
+ <field name="invoice_repartition_line_ids" model="account.account" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ }),
+
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': obj().search([
+ ('company_id', '=', obj().env.ref('l10n_ar.company_ri').id),
+ ('group_id', '=', obj().env.ref('l10n_ar.account_group_otros_impuestos').id)
+ ], limit=1).id,
+
+ }),
+ ]"/>
+ <field name="refund_repartition_line_ids" model="account.account" eval="[(5, 0, 0),
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'base',
+ }),
+
+ (0,0, {
+ 'factor_percent': 100,
+ 'repartition_type': 'tax',
+ 'account_id': obj().search([
+ ('company_id', '=', obj().env.ref('l10n_ar.company_ri').id),
+ ('group_id', '=', obj().env.ref('l10n_ar.account_group_otros_impuestos').id)
+ ], limit=1).id,
+ }),
+ ]"/>
+ <field name="type_tax_use">purchase</field>
+ <field name="tax_group_id" ref="account.tax_group_taxes"/>
+ <field name="company_id" ref="l10n_ar.company_ri"/>
+ </record>
+
+ <!-- for demo data we activate all the taxes related to perception iva iibb and other taxes for the already created demo companies -->
+
+ <function model="account.tax" name="write" context="{'active_test': False}">
+ <value model="account.tax" eval="obj().search([('company_id', '=', ref('company_ri')), ('tax_group_id', 'in',
+ [ref('tax_group_percepcion_iva'),
+ ref('tax_group_percepcion_ganancias'),
+ ref('tax_group_percepcion_iibb_caba'),
+ ref('tax_group_percepcion_iibb_ba'),
+ ref('tax_group_percepcion_iibb_co'),
+ ref('tax_group_percepcion_iibb_sf'),
+ ref('account.tax_group_taxes')]
+ )]).ids"/>
+ <value eval="{'amount': 0.1, 'active': True}"/>
+ </function>
+
+</odoo>
diff --git a/addons/l10n_ar/demo/adhoc_jjs.jpeg b/addons/l10n_ar/demo/adhoc_jjs.jpeg
new file mode 100755
index 00000000..e4ac8e9a
--- /dev/null
+++ b/addons/l10n_ar/demo/adhoc_jjs.jpeg
Binary files differ
diff --git a/addons/l10n_ar/demo/adhoc_logo.png b/addons/l10n_ar/demo/adhoc_logo.png
new file mode 100644
index 00000000..b3c42843
--- /dev/null
+++ b/addons/l10n_ar/demo/adhoc_logo.png
Binary files differ
diff --git a/addons/l10n_ar/demo/cerrocastor_logo.png b/addons/l10n_ar/demo/cerrocastor_logo.png
new file mode 100644
index 00000000..6471a329
--- /dev/null
+++ b/addons/l10n_ar/demo/cerrocastor_logo.png
Binary files differ
diff --git a/addons/l10n_ar/demo/cmr_logo.jpg b/addons/l10n_ar/demo/cmr_logo.jpg
new file mode 100644
index 00000000..71507ddb
--- /dev/null
+++ b/addons/l10n_ar/demo/cmr_logo.jpg
Binary files differ
diff --git a/addons/l10n_ar/demo/exento_demo.xml b/addons/l10n_ar/demo/exento_demo.xml
new file mode 100644
index 00000000..eaa5afff
--- /dev/null
+++ b/addons/l10n_ar/demo/exento_demo.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <record id="partner_exento" model="res.partner">
+ <field name='name'>(AR) Exento</field>
+ <field name='l10n_ar_afip_responsibility_type_id' ref="res_IVAE"/>
+ <field name='l10n_latam_identification_type_id' ref="l10n_ar.it_cuit"/>
+ <field name='vat'>30999999995</field>
+ <field name="street">Soyexento 123</field>
+ <field name="city">Rosario</field>
+ <field name="country_id" ref="base.ar"/>
+ <field name="state_id" ref="base.state_ar_s"/>
+ <field name="zip">2000</field>
+ <field name="phone">+1 555 123 8069</field>
+ <field name="email">info@exento.example.com</field>
+ <field name="website">www.exento.com</field>
+ </record>
+
+ <record id="company_exento" model="res.company">
+ <field name='parent_id' ref='base.main_company'/>
+ <field name='currency_id' ref='base.ARS'/>
+ <field name='partner_id' ref='partner_exento'/>
+ <field name='name'>(AR) Exento</field>
+ <field name='l10n_ar_gross_income_type'>exempt</field>
+ <field name="l10n_ar_afip_start_date" eval="time.strftime('%Y-%m')+'-1'"/>
+ </record>
+
+ <function model="res.users" name="write">
+ <value eval="[ref('base.user_root'), ref('base.user_admin'), ref('base.user_demo')]"/>
+ <value eval="{'company_ids': [(4, ref('l10n_ar.company_exento'))]}"/>
+ </function>
+
+ <function model="account.chart.template" name="try_loading">
+ <value eval="[ref('l10n_ar.l10nar_ex_chart_template')]"/>
+ <value model="res.company" eval="obj().env.ref('l10n_ar.company_exento')"/>
+ </function>
+
+ <data noupdate="1">
+
+ <record id="sale_expo_journal_exento" model="account.journal">
+ <field name='name'>Expo Sales Journal</field>
+ <field name='company_id' ref="l10n_ar.company_exento"/>
+ <field name='type'>sale</field>
+ <field name='code'>S0002</field>
+ <field name='l10n_latam_use_documents' eval="True"/>
+ <field name='l10n_ar_afip_pos_number'>2</field>
+ <field name='l10n_ar_afip_pos_partner_id' ref="l10n_ar.partner_exento"/>
+ <field name='l10n_ar_afip_pos_system'>FEERCEL</field>
+ </record>
+
+ </data>
+
+</odoo>
diff --git a/addons/l10n_ar/demo/expresso_logo.png b/addons/l10n_ar/demo/expresso_logo.png
new file mode 100644
index 00000000..b82888b6
--- /dev/null
+++ b/addons/l10n_ar/demo/expresso_logo.png
Binary files differ
diff --git a/addons/l10n_ar/demo/gritti_logo.png b/addons/l10n_ar/demo/gritti_logo.png
new file mode 100755
index 00000000..e758cd96
--- /dev/null
+++ b/addons/l10n_ar/demo/gritti_logo.png
Binary files differ
diff --git a/addons/l10n_ar/demo/mono_demo.xml b/addons/l10n_ar/demo/mono_demo.xml
new file mode 100644
index 00000000..03037431
--- /dev/null
+++ b/addons/l10n_ar/demo/mono_demo.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <record id="partner_mono" model="res.partner">
+ <field name='name'>(AR) Monotributista</field>
+ <field name='l10n_ar_afip_responsibility_type_id' ref="res_RM"/>
+ <field name='l10n_latam_identification_type_id' ref="l10n_ar.it_cuit"/>
+ <field name='vat'>20222222223</field>
+ <field name="street">Calle Falsa 123</field>
+ <field name="city">Rosario</field>
+ <field name="country_id" ref="base.ar"/>
+ <field name="state_id" ref="base.state_ar_s"/>
+ <field name="zip">2000</field>
+ <field name="phone">+1 555 123 8069</field>
+ <field name="email">info@example.com</field>
+ <field name="website">www.example.com</field>
+ </record>
+
+ <record id="company_mono" model="res.company">
+ <field name='parent_id' ref='base.main_company'/>
+ <field name='currency_id' ref='base.ARS'/>
+ <field name='partner_id' ref='partner_mono'/>
+ <field name='name'>(AR) Monotributista</field>
+ <field name='l10n_ar_gross_income_type'>exempt</field>
+ <field name="l10n_ar_afip_start_date" eval="time.strftime('%Y-%m')+'-1'"/>
+ </record>
+
+ <function model="res.users" name="write">
+ <value eval="[ref('base.user_root'), ref('base.user_admin'), ref('base.user_demo')]"/>
+ <value eval="{'company_ids': [(4, ref('l10n_ar.company_mono'))]}"/>
+ </function>
+
+ <function model="account.chart.template" name="try_loading">
+ <value eval="[ref('l10n_ar.l10nar_base_chart_template')]"/>
+ <value model="res.company" eval="obj().env.ref('l10n_ar.company_mono')"/>
+ </function>
+
+ <data noupdate="1">
+
+ <record id="sale_expo_journal_mono" model="account.journal">
+ <field name='name'>Expo Sales Journal</field>
+ <field name='company_id' ref="l10n_ar.company_mono"/>
+ <field name='type'>sale</field>
+ <field name='code'>S0002</field>
+ <field name='l10n_latam_use_documents' eval="True"/>
+ <field name='l10n_ar_afip_pos_number'>2</field>
+ <field name='l10n_ar_afip_pos_partner_id' ref="l10n_ar.partner_mono"/>
+ <field name='l10n_ar_afip_pos_system'>FEERCEL</field>
+ </record>
+
+ </data>
+
+</odoo>
diff --git a/addons/l10n_ar/demo/odoo_logo.jpg b/addons/l10n_ar/demo/odoo_logo.jpg
new file mode 100644
index 00000000..f5cc3142
--- /dev/null
+++ b/addons/l10n_ar/demo/odoo_logo.jpg
Binary files differ
diff --git a/addons/l10n_ar/demo/product_product_demo.xml b/addons/l10n_ar/demo/product_product_demo.xml
new file mode 100644
index 00000000..c2edf698
--- /dev/null
+++ b/addons/l10n_ar/demo/product_product_demo.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <record id="product_product_quote_despacho" model="product.product">
+ <field name="name">Import Clearance</field>
+ <field name="type">service</field>
+ <field name="default_code">AFIP_DESPACHO</field>
+ <field name="sale_ok" eval="False"/>
+ <field name="uom_id" ref="uom.product_uom_unit"/>
+ </record>
+
+ <record id="product_product_tasa_estadistica" model="product.product">
+ <field name="name">Statistics Rate</field>
+ <field name="type">service</field>
+ <field name="default_code">AFIP_TASA_EST</field>
+ <field name="sale_ok" eval="False"/>
+ <field name="uom_id" ref="uom.product_uom_unit"/>
+ </record>
+
+ <record id="product_product_arancel" model="product.product">
+ <field name="name">Tariff</field>
+ <field name="type">service</field>
+ <field name="default_code">AFIP_ARANCEL</field>
+ <field name="sale_ok" eval="False"/>
+ <field name="uom_id" ref="uom.product_uom_unit"/>
+ <field name="supplier_taxes_id" search="[('type_tax_use', '=', 'purchase'), ('tax_group_id', '=', 'VAT Untaxed')]"/>
+ </record>
+
+ <record id="product_product_servicio_de_guarda" model="product.product">
+ <field name="name">Guard Service</field>
+ <field name="type">service</field>
+ <field name="default_code">AFIP_SERV_GUARDA</field>
+ <field name="sale_ok" eval="False"/>
+ <field name="uom_id" ref="uom.product_uom_unit"/>
+ <field name="supplier_taxes_id" search="[('type_tax_use', '=', 'purchase'), ('tax_group_id', '=', 'VAT Untaxed')]"/>
+ </record>
+
+ <record id="product_product_exento" model="product.product">
+ <field name="name">Book "Development in Odoo" (VAT Exempt)</field>
+ <field name="categ_id" ref="product.product_category_5"/>
+ <field name="standard_price">100.0</field>
+ <field name="list_price">80.0</field>
+ <field name="type">consu</field>
+ <field name="uom_id" ref="uom.product_uom_unit"/>
+ <field name="uom_po_id" ref="uom.product_uom_unit"/>
+ <field name="default_code">EXENTO</field>
+ <field name="taxes_id" search="[('type_tax_use', '=', 'sale'), ('tax_group_id', '=', 'VAT Exempt')]"/>
+ <field name="supplier_taxes_id" search="[('type_tax_use', '=', 'purchase'), ('tax_group_id', '=', 'VAT Exempt')]"/>
+ </record>
+
+ <record id="product_product_cero" model="product.product">
+ <field name="name">Non-industrialized animals and vegetables (VAT Zero)</field>
+ <field name="categ_id" ref="product.product_category_5"/>
+ <field name="standard_price">200.0</field>
+ <field name="list_price">160.0</field>
+ <field name="type">consu</field>
+ <field name="uom_id" ref="uom.product_uom_unit"/>
+ <field name="uom_po_id" ref="uom.product_uom_unit"/>
+ <field name="default_code">CERO</field>
+ <field name="taxes_id" search="[('type_tax_use', '=', 'sale'), ('tax_group_id', '=', 'VAT 0%')]"/>
+ <field name="supplier_taxes_id" search="[('type_tax_use', '=', 'purchase'), ('tax_group_id', '=', 'VAT 0%')]"/>
+ </record>
+ <record id="product_product_no_gravado" model="product.product">
+ <field name="name">Untaxed concepts (VAT NT)</field>
+ <field name="categ_id" ref="product.product_category_5"/>
+ <field name="standard_price">50.0</field>
+ <field name="list_price">40.0</field>
+ <field name="type">consu</field>
+ <field name="uom_id" ref="uom.product_uom_unit"/>
+ <field name="uom_po_id" ref="uom.product_uom_unit"/>
+ <field name="default_code">NOGRAVADO</field>
+ <field name="taxes_id" search="[('type_tax_use', '=', 'sale'), ('tax_group_id', '=', 'VAT Untaxed')]"/>
+ <field name="supplier_taxes_id" search="[('type_tax_use', '=', 'purchase'), ('tax_group_id', '=', 'VAT Untaxed')]"/>
+ </record>
+ <record id="product_product_telefonia" model="product.product">
+ <field name="name">Telephone service (VAT 27)</field>
+ <field name="categ_id" ref="product.product_category_5"/>
+ <field name="standard_price">250.0</field>
+ <field name="list_price">130.0</field>
+ <field name="type">service</field>
+ <field name="uom_id" ref="uom.product_uom_unit"/>
+ <field name="uom_po_id" ref="uom.product_uom_unit"/>
+ <field name="default_code">TELEFONIA</field>
+ <field name="taxes_id" search="[('type_tax_use', '=', 'sale'), ('tax_group_id', '=', 'VAT 27%')]"/>
+ <field name="supplier_taxes_id" search="[('type_tax_use', '=', 'purchase'), ('tax_group_id', '=', 'VAT 27%')]"/>
+ </record>
+
+ <record id="product.product_product_2" model="product.product">
+ <field name="standard_price">45.5</field>
+ </record>
+
+ <!-- VAT 10,5% -->
+
+ <record id="product.product_product_25" model="product.product">
+ <field name="name">Laptop E5023 (IVA 10,5)</field>
+ <!-- agregamos percecipn aplicada y sufrida tambien -->
+ <field name="taxes_id" search="[('type_tax_use', '=', 'sale'), ('tax_group_id', 'in', ['VAT 10.5%', 'Percepción IIBB', 'Percepción Ganancias', 'Percepción IVA'])]"/>
+ <field name="supplier_taxes_id" search="[('type_tax_use', '=', 'purchase'), ('tax_group_id', 'in', ['VAT 10.5%', 'Percepción IIBB', 'Percepción Ganancias', 'Percepción IVA'])]"/>
+ <field name="standard_price">3280.0</field>
+ </record>
+
+ <record id="product.product_product_27" model="product.product">
+ <field name="name">Laptop Customized (VAT 10,5)</field>
+ <field name="taxes_id" search="[('type_tax_use', '=', 'sale'), ('tax_group_id', '=', 'VAT 10.5%')]"/>
+ <field name="supplier_taxes_id" search="[('type_tax_use', '=', 'purchase'), ('tax_group_id', '=', 'VAT 10.5%')]"/>
+ <field name="standard_price">4500.0</field>
+ </record>
+
+</odoo>
diff --git a/addons/l10n_ar/demo/res_partner_demo.xml b/addons/l10n_ar/demo/res_partner_demo.xml
new file mode 100644
index 00000000..ebba240b
--- /dev/null
+++ b/addons/l10n_ar/demo/res_partner_demo.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <!-- ADHOC - Supplier/Customer -->
+
+ <record id="res_partner_adhoc" model="res.partner">
+ <field name="name">ADHOC SA</field>
+ <field eval="[(6, 0, [ref('base.res_partner_category_8'), ref('base.res_partner_category_11')])]" name="category_id"/>
+ <field name="is_company">1</field>
+ <field name="city">Rosario</field>
+ <field name="zip">2000</field>
+ <field name="state_id" ref="base.state_ar_s"/>
+ <field name="country_id" ref="base.ar"/>
+ <field name="street">Ovidio Lagos 41 bis</field>
+ <field name="email">info@adhoc.com.ar</field>
+ <field name="phone">(+54) (341) 208 0203</field>
+ <field name="website">http://www.adhoc.com.ar</field>
+ <field name='l10n_latam_identification_type_id' ref="l10n_ar.it_cuit"/>
+ <field name='vat'>30714295698</field>
+ <field name="image_1920" type="base64" file="l10n_ar/demo/adhoc_logo.png"/>
+ <field name='l10n_ar_afip_responsibility_type_id' ref="l10n_ar.res_IVARI"/>
+ </record>
+
+ <!-- Gritti Agrimensura -->
+ <record id="res_partner_gritti_agrimensura" model="res.partner">
+ <field name="name">Gritti Agrimensura</field>
+ <field eval="[(6, 0, [ref('base.res_partner_category_8'), ref('base.res_partner_category_11')])]" name="category_id"/>
+ <field name="is_company">1</field>
+ <field name="city">Rosario</field>
+ <field name="zip">2000</field>
+ <field name="state_id" ref="base.state_ar_s"/>
+ <field name="country_id" ref="base.ar"/>
+ <field name="street">Calle Falsa 123</field>
+ <field name="email">info@example.com.ar</field>
+ <field name="phone">(+54) (341) 111 2222</field>
+ <field name="website">http://www.grittiagrimensura.com</field>
+ <field name='l10n_latam_identification_type_id' ref="l10n_ar.it_cuit"/>
+ <field name='vat'>27320732811</field>
+ <field name="image_1920" type="base64" file="l10n_ar/demo/gritti_logo.png"/>
+ <field name='l10n_ar_afip_responsibility_type_id' ref="l10n_ar.res_RM"/>
+ </record>
+
+ <!-- Consejo Municipal Rosario -->
+ <record id="res_partner_cmr" model="res.partner">
+ <field name="name">Concejo Municipal de Rosario</field>
+ <field name="is_company">1</field>
+ <field name="city">Rosario</field>
+ <field name="zip">2000</field>
+ <field name="state_id" ref="base.state_ar_s"/>
+ <field name="country_id" ref="base.ar"/>
+ <field name="street">Cordoba 501</field>
+ <field name="email">info@example.com.ar</field>
+ <field name="phone">(+54) (341) 222 3333</field>
+ <field name="website">http://www.concejorosario.gov.ar/</field>
+ <field name='l10n_latam_identification_type_id' ref="l10n_ar.it_cuit"/>
+ <field name='vat'>30684679372</field>
+ <field name="image_1920" type="base64" file="l10n_ar/demo/cmr_logo.jpg"/>
+ <field name='l10n_ar_afip_responsibility_type_id' ref="l10n_ar.res_IVAE"/>
+ </record>
+
+ <!-- Odoo -->
+ <record id="res_partner_odoo" model="res.partner">
+ <field name="name">Odoo Inc</field>
+ <field name="is_company">1</field>
+ <field name="city">San Francisco</field>
+ <field name="zip">CA 94107</field>
+ <field name="country_id" ref="base.us"/>
+ <field name="street">51 Federal Street, Suite 401</field>
+ <field name="email">info@odoo.com</field>
+ <field name="phone">(+00) (11) 222 3333</field>
+ <field name="website">https://www.odoo.com/</field>
+ <field name='l10n_latam_identification_type_id' ref="l10n_latam_base.it_fid"/>
+ <field name='vat'>111222333444</field>
+ <field name="image_1920" type="base64" file="l10n_ar/demo/odoo_logo.jpg"/>
+ <field name='l10n_ar_afip_responsibility_type_id' ref="l10n_ar.res_EXT"/>
+ </record>
+
+ <!-- Telecom -->
+ <record id="res_partner_telecom" model="res.partner">
+ <field name="name">TELECOM</field>
+ <field name="is_company">1</field>
+ <field name='l10n_latam_identification_type_id' ref="l10n_ar.it_cuit"/>
+ <field name='vat'>30639453738</field>
+ <field name='l10n_ar_afip_responsibility_type_id' ref="l10n_ar.res_IVARI"/>
+ </record>
+
+ <!-- Odoo -->
+ <record id="res_partner_expresso" model="res.partner">
+ <field name="name">Expresso</field>
+ <field name="is_company">1</field>
+ <field name="city">Barcelona</field>
+ <field name="zip">11002</field>
+ <field name="country_id" ref="base.es"/>
+ <field name="street">La gran avenida 123</field>
+ <field name="email">info@expresso.com</field>
+ <field name="phone">(+00) (11) 222 3333</field>
+ <field name="website">http://www.expresso.com/</field>
+ <field name='l10n_latam_identification_type_id' ref="l10n_latam_base.it_fid"/>
+ <field name='vat'>2222333344445555</field>
+ <field name="image_1920" type="base64" file="l10n_ar/demo/expresso_logo.png"/>
+ <field name='l10n_ar_afip_responsibility_type_id' ref="l10n_ar.res_EXT"/>
+ </record>
+
+ <!-- Paseo del Fuego -->
+ <record id="res_partner_cerrocastor" model="res.partner">
+ <field name="name">Cerro Castor</field>
+ <field name="is_company">1</field>
+ <field name="city">Ushuaia</field>
+ <field name="state_id" ref="base.state_ar_v"/>
+ <field name="country_id" ref="base.ar"/>
+ <field name="street">Ruta 3 km 26</field>
+ <field name="email">info@cerrocastor.com</field>
+ <field name="phone">(+00) (11) 4444 5556</field>
+ <field name="website">http://www.cerrocastor.com/</field>
+ <field name='l10n_latam_identification_type_id' ref="l10n_ar.it_cuit"/>
+ <field name='vat'>27333333339</field>
+ <field name="image_1920" type="base64" file="l10n_ar/demo/cerrocastor_logo.png"/>
+ <field name='l10n_ar_afip_responsibility_type_id' ref="l10n_ar.res_IVA_LIB"/>
+ </record>
+
+ <!-- Foreign Partner -->
+ <record id="res_partner_foreign" model="res.partner">
+ <field name="name">Foreign Inc</field>
+ <field eval="[(6, 0, [ref('base.res_partner_category_14'), ref('base.res_partner_category_12')])]" name="category_id"/>
+ <field name="is_company">1</field>
+ <field name="street">7841 Red Road</field>
+ <field name="city">San Francisco</field>
+ <field name="state_id" ref='base.state_us_5'/>
+ <field name="zip">95380</field>
+ <field name="country_id" ref="base.us"/>
+ <field name="email">foreing@example.com</field>
+ <field name="phone">(123)-456-7890</field>
+ <field name="website">http://www.foreign-inc.com</field>
+ <field name='l10n_latam_identification_type_id' ref="l10n_ar.it_cuit"/>
+ <field name='vat'>30222222229</field>
+ <field name='l10n_ar_afip_responsibility_type_id' ref="l10n_ar.res_EXT"/>
+ </record>
+
+ <!-- "MiPyme" IVA Inscripto -->
+ <record id="res_partner_mipyme" model="res.partner">
+ <field name="name">Belgrano Cargas Y Logistica S (Mipyme)</field>
+ <field eval="[(6, 0, [ref('base.res_partner_category_14'), ref('base.res_partner_category_12')])]" name="category_id"/>
+ <field name="is_company">1</field>
+ <field name="street">Av. Santa Fe 4636</field>
+ <field name="city">Buenos Aires</field>
+ <field name="state_id" ref='base.state_ar_c'/>
+ <field name="zip">1425</field>
+ <field name="country_id" ref="base.ar"/>
+ <field name="email">mipyme@example.com</field>
+ <field name="phone">(123)-456-7890</field>
+ <field name="website">http://www.mypime-inc.com</field>
+ <field name='l10n_latam_identification_type_id' ref="l10n_ar.it_cuit"/>
+ <field name='vat'>30714101443</field>
+ <field name='l10n_ar_afip_responsibility_type_id' ref="l10n_ar.res_IVARI"/>
+ </record>
+
+</odoo>
diff --git a/addons/l10n_ar/demo/res_users_demo.xml b/addons/l10n_ar/demo/res_users_demo.xml
new file mode 100644
index 00000000..629eeea6
--- /dev/null
+++ b/addons/l10n_ar/demo/res_users_demo.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <!-- reset root on main company so that other modules can install without issues -->
+ <record id="base.user_root" model="res.users">
+ <field name="company_id" ref="base.main_company"/>
+ </record>
+
+</odoo>
diff --git a/addons/l10n_ar/demo/respinsc_demo.xml b/addons/l10n_ar/demo/respinsc_demo.xml
new file mode 100644
index 00000000..eaf13fa6
--- /dev/null
+++ b/addons/l10n_ar/demo/respinsc_demo.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <record id="partner_ri" model="res.partner">
+ <field name='name'>(AR) Responsable Inscripto</field>
+ <field name='l10n_ar_afip_responsibility_type_id' ref="res_IVARI"/>
+ <field name='l10n_latam_identification_type_id' ref="l10n_ar.it_cuit"/>
+ <field name='vat'>30111111118</field>
+ <field name="street">Calle Falsa 123</field>
+ <field name="city">Rosario</field>
+ <field name="country_id" ref="base.ar"/>
+ <field name="state_id" ref="base.state_ar_s"/>
+ <field name="zip">2000</field>
+ <field name="phone">+1 555 123 8069</field>
+ <field name="email">info@example.com</field>
+ <field name="website">www.example.com</field>
+ </record>
+
+ <record id="company_ri" model="res.company">
+ <field name='parent_id' ref='base.main_company'/>
+ <field name='currency_id' ref='base.ARS'/>
+ <field name='partner_id' ref='partner_ri'/>
+ <field name='name'>(AR) Responsable Inscripto</field>
+ <field name="l10n_ar_afip_start_date" eval="time.strftime('%Y-01-01')"/>
+ <field name='l10n_ar_gross_income_type'>local</field>
+ <field name='l10n_ar_gross_income_number'>901-21885123</field>
+ </record>
+
+ <function model="res.users" name="write">
+ <value eval="[ref('base.user_root'), ref('base.user_admin'), ref('base.user_demo')]"/>
+ <value eval="{'company_ids': [(4, ref('l10n_ar.company_ri'))],
+ 'company_id': ref('l10n_ar.company_ri')}"/>
+ </function>
+
+ <function model="account.chart.template" name="try_loading">
+ <value eval="[ref('l10n_ar.l10nar_ri_chart_template')]"/>
+ <value model="res.company" eval="obj().env.ref('l10n_ar.company_ri')"/>
+ </function>
+
+ <record id="bank_account_ri" model="res.partner.bank">
+ <field name="acc_number">7982898111100056688080</field>
+ <field name="partner_id" ref="l10n_ar.partner_ri"/>
+ <field name="company_id" ref="l10n_ar.company_ri"/>
+ </record>
+
+ <data noupdate="1">
+
+ <record id="sale_expo_journal_ri" model="account.journal">
+ <field name='name'>Expo Sales Journal</field>
+ <field name='company_id' ref="l10n_ar.company_ri"/>
+ <field name='type'>sale</field>
+ <field name='code'>S0002</field>
+ <field name='l10n_latam_use_documents' eval="True"/>
+ <field name='l10n_ar_afip_pos_number'>2</field>
+ <field name='l10n_ar_afip_pos_partner_id' ref="l10n_ar.partner_ri"/>
+ <field name='l10n_ar_afip_pos_system'>FEERCEL</field>
+ <field name='refund_sequence' eval="False"/>
+ </record>
+
+ </data>
+
+</odoo>