Here is the xml definition that we use to manage this case:
<record model="account.tax.template" id="iva_reagp_purchase_12">
<field name="name">IVA 12% Regimen Especial Agricultura y Pesca</field>
<field name="description">IVA 12% Regimen Especial Agricultura y Pesca</field>
<field name="account" ref="account_es.pgc_0"/>
<field name="group" ref="account_es.tax_group_purchase"/>
<field name="type">percentage</field>
<field name="rate" eval="Decimal('0.12')"/>
<field name="invoice_account" ref="account_es.pgc_472"/>
<field name="credit_note_account" ref="account_es.pgc_472"/>
<field name="sequence" eval="2420"/>
<field name="update_unit_price" eval="True"/>
</record>
<record model="account.tax.code.line.template" id="vat_code_iva_deducible_tax_reagp-iva_reagp_purchase_12-invoice">
<field name="code" ref="account_es.vat_code_iva_deducible_tax_reagp"/>
<field name="tax" ref="iva_reagp_purchase_12"/>
<field name="operator">+</field>
<field name="amount">tax</field>
<field name="type">invoice</field>
</record>
<record model="account.tax.code.line.template" id="vat_code_iva_deducible_tax_reagp-iva_reagp_purchase_12-credit">
<field name="code" ref="account_es.vat_code_iva_deducible_tax_reagp"/>
<field name="tax" ref="iva_reagp_purchase_12"/>
<field name="operator">-</field>
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record model="account.tax.template" id="irpf_reagp_purchase_2">
<field name="name">Retención IRPF 2% Regimen Especial Agricultura y Pesca</field>
<field name="description">Retención IRPF 2% Regimen Especial Agricultura y Pesca</field>
<field name="account" ref="account_es.pgc_0"/>
<field name="type">percentage</field>
<field name="rate" eval="Decimal('-0.02')"/>
<field name="invoice_account" ref="account_es.pgc_4751"/>
<field name="credit_note_account" ref="account_es.pgc_4751"/>
<field name="sequence" eval="6430"/>
</record>
<record model="account.tax.code.line.template" id="vat_code_irpf_purchase_base-irpf_reagp_purchase_2-invoice">
<field name="code" ref="account_es.vat_code_irpf_purchase_base"/>
<field name="tax" ref="irpf_reagp_purchase_2"/>
<field name="operator">+</field>
<field name="amount">base</field>
<field name="type">invoice</field>
</record>
<record model="account.tax.code.line.template" id="vat_code_irpf_purchase_base-irpf_reagp_purchase_2-credit">
<field name="code" ref="account_es.vat_code_irpf_purchase_base"/>
<field name="tax" ref="irpf_reagp_purchase_2"/>
<field name="operator">-</field>
<field name="amount">base</field>
<field name="type">credit</field>
</record>
<record model="account.tax.code.line.template" id="vat_code_irpf_purchase_tax-irpf_reagp_purchase_2-invoice">
<field name="code" ref="account_es.vat_code_irpf_purchase_tax"/>
<field name="tax" ref="irpf_reagp_purchase_2"/>
<field name="operator">+</field>
<field name="amount">tax</field>
<field name="type">invoice</field>
</record>
<record model="account.tax.code.line.template" id="vat_code_irpf_purchase_tax-irpf_reagp_purchase_2-credit">
<field name="code" ref="account_es.vat_code_irpf_purchase_tax"/>
<field name="tax" ref="irpf_reagp_purchase_2"/>
<field name="operator">-</field>
<field name="amount">tax</field>
<field name="type">credit</field>
</record>
<record model="account.tax.rule.template" id="fp_reagp">
<field name="name">Régimen especial agricultura ganadería y pesca</field>
<field name="account" ref="account_es.pgc_0"/>
<field name="kind">purchase</field>
</record>
<record model="account.tax.rule.line.template" id="fp_reagp_iva">
<field name="rule" ref="fp_reagp"/>
<field name="tax" ref="iva_reagp_purchase_12"/>
<field name="group" ref="account_es.tax_group_purchase"/>
<field name="sequence" eval="10"/>
</record>
<record model="account.tax.rule.line.template" id="fp_reagp_irpf">
<field name="rule" ref="fp_reagp"/>
<field name="tax" ref="irpf_reagp_purchase_2"/>
<field name="sequence" eval="20"/>
</record>
Maybe we can include this as part of the oficial account_es module.
Altought it’s not used for everyone it only includes a tax rule that can be only used when required.