Skip to content

Commit e31c769

Browse files
committed
[IMP] l10n_br_fiscal, l10n_br_stock_account: derive tax creditability from CST and company tax regime
Builds on the previous commit (design from #3158 by Diego Paradeda) and on the principle of #3819 by Renato Lima: the net cost must be derived together with the fiscal computation, never depending on UI interaction. * The per-line creditable flags (icms/ipi/pis/cofins) become computed fields (store=True, readonly=False) instead of onchange-driven: the value derives from the line CST default_creditable_tax AND the buyer company tax regime gate: - Simples Nacional buyer takes no credit (LC 123/2006, art. 23); - IPI only credits industries and assimilated (RIPI); - PIS/COFINS only credit in the non-cumulative regime (Lucro Real, Leis 10.637/2002 and 10.833/2003). Programmatic flows (purchase orders creating moves, imported fiscal documents) now get the right creditability with no UI interaction, while the flags remain editable line by line (the same product may be bought with different destinations). * icmsst/issqn/irpj flags become manual-only (default False): there is no general legal input credit for them - ICMS-ST in particular must stay in the inventory cost by default (art. 301 RIR/2018). * stock_price_br is renamed to cost_unit (name from #3819). * cost_unit also deducts the transferable CSOSN 101/201 credit when the buyer is not Simples (LC 123/2006, art. 23, §§ 1-2) and the ICMS relief value (desoneração). * Valuation switch becomes opt-in: company flag defaults to False and gates the incoming _get_price_unit branch, preserving the current behavior of existing databases. * CST creditability defaults audited against the legislation, fixing 19 entries from the original branch (e.g. ICMS 10/70 do credit the own highlighted tax even with ST; ICMS 50/51, IPI 02/04/05 and PIS/COFINS 71/72/74/75 do not credit) and setting the whole IS group to False (excise, non-creditable by nature). * Tests: creditability derivation per regime, reference net cost values (Real 630.00 / Presumido 704.00 on the 800.00 + IPI 26.00 demo invoice), per-line manual override and the valuation opt-in gate.
1 parent 9a90cc9 commit e31c769

7 files changed

Lines changed: 320 additions & 108 deletions

File tree

l10n_br_fiscal/data/l10n_br_fiscal.cst.csv

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
11
"id","code","name","cst_type","tax_group_id:id","default_creditable_tax"
22
"cst_icms_00","00","Tributada integralmente","all","tax_group_icms","True"
33
"cst_icms_02","02","Tributação monofásica própria sobre combustíveis","all","tax_group_icms","False"
4-
"cst_icms_10","10","Tributada e com cobrança do ICMS por substituição tributária","all","tax_group_icms","False"
4+
"cst_icms_10","10","Tributada e com cobrança do ICMS por substituição tributária","all","tax_group_icms","True"
55
"cst_icms_15","15","Tributação monofásica própria e com responsabilidade pela retenção sobre combustíveis","all","tax_group_icms","False"
66
"cst_icms_20","20","Com redução de base de cálculo","all","tax_group_icms","True"
77
"cst_icms_30","30","Isenta ou não tributada e com cobrança do ICMS por substituição tributária","all","tax_group_icms","False"
88
"cst_icms_40","40","Isenta","all","tax_group_icms","False"
99
"cst_icms_41","41","Não tributada","all","tax_group_icms","False"
10-
"cst_icms_50","50","Suspensão","all","tax_group_icms","True"
11-
"cst_icms_51","51","Diferimento","all","tax_group_icms","True"
10+
"cst_icms_50","50","Suspensão","all","tax_group_icms","False"
11+
"cst_icms_51","51","Diferimento","all","tax_group_icms","False"
1212
"cst_icms_53","53","Tributação monofásica sobre combustíveis com recolhimento diferido","all","tax_group_icms","False"
1313
"cst_icms_60","60","ICMS cobrado anteriormente por substituição tributária","all","tax_group_icms","False"
1414
"cst_icms_61","61","Tributação monofásica sobre combustíveis cobrada anteriormente","all","tax_group_icms","False"
15-
"cst_icms_70","70","Com redução de base de cálculo e cobrança do ICMS por substituição tributária","all","tax_group_icms","False"
15+
"cst_icms_70","70","Com redução de base de cálculo e cobrança do ICMS por substituição tributária","all","tax_group_icms","True"
1616
"cst_icms_90","90","Outras","all","tax_group_icms","True"
1717
"cst_icmssn_101","101","Tributada com permissão de crédito","all","tax_group_icmssn","True"
1818
"cst_icmssn_102","102","Tributada sem permissão de crédito","all","tax_group_icmssn","False"
19-
"cst_icmssn_103","103","Isento de icms para a faixa de receita bruta","all","tax_group_icmssn","True"
19+
"cst_icmssn_103","103","Isento de icms para a faixa de receita bruta","all","tax_group_icmssn","False"
2020
"cst_icmssn_201","201","Tributada com permissão de crédito e cobrança de ICMS por ST","all","tax_group_icmssn","True"
2121
"cst_icmssn_202","202","Tributada sem permissão de crédito e cobrança de ICMS por ST","all","tax_group_icmssn","False"
22-
"cst_icmssn_203","203","Isento de ICMS para a faixa de receita bruta e cobrança de ICMS por ST","all","tax_group_icmssn","True"
23-
"cst_icmssn_300","300","Imune","all","tax_group_icmssn","True"
24-
"cst_icmssn_400","400","Não tributada pelo SIMPLES","all","tax_group_icmssn","True"
22+
"cst_icmssn_203","203","Isento de ICMS para a faixa de receita bruta e cobrança de ICMS por ST","all","tax_group_icmssn","False"
23+
"cst_icmssn_300","300","Imune","all","tax_group_icmssn","False"
24+
"cst_icmssn_400","400","Não tributada pelo SIMPLES","all","tax_group_icmssn","False"
2525
"cst_icmssn_500","500","ICMS cobrado anteriormente por ST ou por antecipação","all","tax_group_icmssn","False"
26-
"cst_icmssn_900","900","Outros","all","tax_group_icmssn","True"
26+
"cst_icmssn_900","900","Outros","all","tax_group_icmssn","False"
2727
"cst_ipi_00","00","Entrada com recuperação de crédito","in","tax_group_ipi","True"
2828
"cst_ipi_01","01","Entrada tributada com alíquota zero","in","tax_group_ipi","False"
29-
"cst_ipi_02","02","Entrada isenta","in","tax_group_ipi","True"
29+
"cst_ipi_02","02","Entrada isenta","in","tax_group_ipi","False"
3030
"cst_ipi_03","03","Entrada não-tributada","in","tax_group_ipi","False"
31-
"cst_ipi_04","04","Entrada imune","in","tax_group_ipi","True"
32-
"cst_ipi_05","05","Entrada com suspensão","in","tax_group_ipi","True"
31+
"cst_ipi_04","04","Entrada imune","in","tax_group_ipi","False"
32+
"cst_ipi_05","05","Entrada com suspensão","in","tax_group_ipi","False"
3333
"cst_ipi_49","49","Outras entradas","in","tax_group_ipi","True"
3434
"cst_ipi_50","50","Saída tributada","out","tax_group_ipi","False"
3535
"cst_ipi_51","51","Saída tributada com alíquota zero","out","tax_group_ipi","False"
@@ -64,10 +64,10 @@
6464
"cst_pis_66","66","Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno, e de Exportação","in","tax_group_pis","True"
6565
"cst_pis_67","67","Crédito Presumido - Outras Operações","in","tax_group_pis","True"
6666
"cst_pis_70","70","Operação de Aquisição sem Direito a Crédito","in","tax_group_pis","False"
67-
"cst_pis_71","71","Operação de Aquisição com Isenção","in","tax_group_pis","True"
68-
"cst_pis_72","72","Operação de Aquisição com Suspensão","in","tax_group_pis","True"
67+
"cst_pis_71","71","Operação de Aquisição com Isenção","in","tax_group_pis","False"
68+
"cst_pis_72","72","Operação de Aquisição com Suspensão","in","tax_group_pis","False"
6969
"cst_pis_73","73","Operação de Aquisição a Alíquota Zero","in","tax_group_pis","False"
70-
"cst_pis_74","74","Operação de Aquisição sem Incidência da Contribuição","in","tax_group_pis","True"
70+
"cst_pis_74","74","Operação de Aquisição sem Incidência da Contribuição","in","tax_group_pis","False"
7171
"cst_pis_75","75","Operação de Aquisição por Substituição Tributária","in","tax_group_pis","False"
7272
"cst_pis_98","98","Outras Operações de Entrada","in","tax_group_pis","True"
7373
"cst_pis_99","99","Outras Operações","out","tax_group_pis","False"
@@ -97,49 +97,49 @@
9797
"cst_cofins_66","66","Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno e de Exportação","in","tax_group_cofins","True"
9898
"cst_cofins_67","67","Crédito Presumido - Outras Operações","in","tax_group_cofins","True"
9999
"cst_cofins_70","70","Operação de Aquisição sem Direito a Crédito","in","tax_group_cofins","False"
100-
"cst_cofins_71","71","Operação de Aquisição com Isenção","in","tax_group_cofins","True"
101-
"cst_cofins_72","72","Operação de Aquisição com Suspensão","in","tax_group_cofins","True"
100+
"cst_cofins_71","71","Operação de Aquisição com Isenção","in","tax_group_cofins","False"
101+
"cst_cofins_72","72","Operação de Aquisição com Suspensão","in","tax_group_cofins","False"
102102
"cst_cofins_73","73","Operação de Aquisição a Alíquota Zero","in","tax_group_cofins","False"
103-
"cst_cofins_74","74","Operação de Aquisição sem Incidência da Contribuição","in","tax_group_cofins","True"
104-
"cst_cofins_75","75","Operação de Aquisição por Substituição Tributária","in","tax_group_cofins","True"
103+
"cst_cofins_74","74","Operação de Aquisição sem Incidência da Contribuição","in","tax_group_cofins","False"
104+
"cst_cofins_75","75","Operação de Aquisição por Substituição Tributária","in","tax_group_cofins","False"
105105
"cst_cofins_98","98","Outras Operações de Entrada","in","tax_group_cofins","True"
106106
"cst_cofins_99","99","Outras Operações","out","tax_group_cofins","False"
107-
"cst_ibs_000","000","Tributação integral","all","tax_group_ibs","False"
108-
"cst_ibs_010","010","Tributação com alíquotas uniformes","all","tax_group_ibs","False"
109-
"cst_ibs_011","011","Tributação com alíquotas uniformes reduzidas","all","tax_group_ibs","False"
110-
"cst_ibs_200","200","Alíquota reduzida","all","tax_group_ibs","False"
111-
"cst_ibs_220","220","Alíquota fixa","all","tax_group_ibs","False"
112-
"cst_ibs_222","222","Redução de base de cálculo","all","tax_group_ibs","False"
113-
"cst_ibs_221","221","Alíquota fixa proporcional","all","tax_group_ibs","False"
107+
"cst_ibs_000","000","Tributação integral","all","tax_group_ibs","True"
108+
"cst_ibs_010","010","Tributação com alíquotas uniformes","all","tax_group_ibs","True"
109+
"cst_ibs_011","011","Tributação com alíquotas uniformes reduzidas","all","tax_group_ibs","True"
110+
"cst_ibs_200","200","Alíquota reduzida","all","tax_group_ibs","True"
111+
"cst_ibs_220","220","Alíquota fixa","all","tax_group_ibs","True"
112+
"cst_ibs_222","222","Redução de base de cálculo","all","tax_group_ibs","True"
113+
"cst_ibs_221","221","Alíquota fixa proporcional","all","tax_group_ibs","True"
114114
"cst_ibs_400","400","Isenção","all","tax_group_ibs","False"
115115
"cst_ibs_410","410","Imunidade e não incidência","all","tax_group_ibs","False"
116-
"cst_ibs_510","510","Diferimento","all","tax_group_ibs","False"
117-
"cst_ibs_515","515","Diferimento com redução de alíquota","all","tax_group_ibs","False"
118-
"cst_ibs_550","550","Suspensão","all","tax_group_ibs","False"
116+
"cst_ibs_510","510","Diferimento","all","tax_group_ibs","True"
117+
"cst_ibs_515","515","Diferimento com redução de alíquota","all","tax_group_ibs","True"
118+
"cst_ibs_550","550","Suspensão","all","tax_group_ibs","True"
119119
"cst_ibs_620","620","Tributação monofásica","all","tax_group_ibs","False"
120-
"cst_ibs_800","800","Transferência de crédito","all","tax_group_ibs","False"
120+
"cst_ibs_800","800","Transferência de crédito","all","tax_group_ibs","True"
121121
"cst_ibs_810","810","Ajuste de IBS na ZFM","all","tax_group_ibs","False"
122122
"cst_ibs_811","811","Ajustes","all","tax_group_ibs","False"
123-
"cst_ibs_820","820","Tributação em declaração de regime específico","all","tax_group_ibs","False"
124-
"cst_ibs_830","830","Exclusão de base de cálculo","all","tax_group_ibs","False"
125-
"cst_cbs_000","000","Tributação integral","all","tax_group_cbs","False"
126-
"cst_cbs_010","010","Tributação com alíquotas uniformes","all","tax_group_cbs","False"
127-
"cst_cbs_011","011","Tributação com alíquotas uniformes reduzidas","all","tax_group_cbs","False"
128-
"cst_cbs_200","200","Alíquota reduzida","all","tax_group_cbs","False"
129-
"cst_cbs_220","220","Alíquota fixa","all","tax_group_cbs","False"
130-
"cst_cbs_222","222","Redução de base de cálculo","all","tax_group_cbs","False"
131-
"cst_cbs_221","221","Alíquota fixa proporcional","all","tax_group_cbs","False"
123+
"cst_ibs_820","820","Tributação em declaração de regime específico","all","tax_group_ibs","True"
124+
"cst_ibs_830","830","Exclusão de base de cálculo","all","tax_group_ibs","True"
125+
"cst_cbs_000","000","Tributação integral","all","tax_group_cbs","True"
126+
"cst_cbs_010","010","Tributação com alíquotas uniformes","all","tax_group_cbs","True"
127+
"cst_cbs_011","011","Tributação com alíquotas uniformes reduzidas","all","tax_group_cbs","True"
128+
"cst_cbs_200","200","Alíquota reduzida","all","tax_group_cbs","True"
129+
"cst_cbs_220","220","Alíquota fixa","all","tax_group_cbs","True"
130+
"cst_cbs_222","222","Redução de base de cálculo","all","tax_group_cbs","True"
131+
"cst_cbs_221","221","Alíquota fixa proporcional","all","tax_group_cbs","True"
132132
"cst_cbs_400","400","Isenção","all","tax_group_cbs","False"
133133
"cst_cbs_410","410","Imunidade e não incidência","all","tax_group_cbs","False"
134-
"cst_cbs_510","510","Diferimento","all","tax_group_cbs","False"
135-
"cst_cbs_515","515","Diferimento com redução de alíquota","all","tax_group_cbs","False"
136-
"cst_cbs_550","550","Suspensão","all","tax_group_cbs","False"
134+
"cst_cbs_510","510","Diferimento","all","tax_group_cbs","True"
135+
"cst_cbs_515","515","Diferimento com redução de alíquota","all","tax_group_cbs","True"
136+
"cst_cbs_550","550","Suspensão","all","tax_group_cbs","True"
137137
"cst_cbs_620","620","Tributação monofásica","all","tax_group_cbs","False"
138-
"cst_cbs_800","800","Transferência de crédito","all","tax_group_cbs","False"
138+
"cst_cbs_800","800","Transferência de crédito","all","tax_group_cbs","True"
139139
"cst_cbs_810","810","Ajuste de IBS na ZFM","all","tax_group_cbs","False"
140140
"cst_cbs_811","811","Ajustes","all","tax_group_cbs","False"
141-
"cst_cbs_820","820","Tributação em declaração de regime específico","all","tax_group_cbs","False"
142-
"cst_cbs_830","830","Exclusão de base de cálculo","all","tax_group_cbs","False"
141+
"cst_cbs_820","820","Tributação em declaração de regime específico","all","tax_group_cbs","True"
142+
"cst_cbs_830","830","Exclusão de base de cálculo","all","tax_group_cbs","True"
143143
"cst_is_000","000","Tributação integral","all","tax_group_is","False"
144144
"cst_is_010","010","Tributação com alíquotas uniformes","all","tax_group_is","False"
145145
"cst_is_011","011","Tributação com alíquotas uniformes reduzidas","all","tax_group_is","False"

0 commit comments

Comments
 (0)