odoo-addon-l10n-br-fiscal 16.0.1.18.1__py3-none-any.whl → 16.0.1.18.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of odoo-addon-l10n-br-fiscal might be problematic. Click here for more details.

Files changed (41) hide show
  1. odoo/addons/l10n_br_fiscal/README.rst +225 -105
  2. odoo/addons/l10n_br_fiscal/__manifest__.py +1 -1
  3. odoo/addons/l10n_br_fiscal/i18n/l10n_br_fiscal.pot +93 -5
  4. odoo/addons/l10n_br_fiscal/models/comment.py +4 -4
  5. odoo/addons/l10n_br_fiscal/models/data_abstract.py +3 -3
  6. odoo/addons/l10n_br_fiscal/models/data_ncm_nbs_abstract.py +7 -9
  7. odoo/addons/l10n_br_fiscal/models/document_eletronic.py +3 -4
  8. odoo/addons/l10n_br_fiscal/models/document_event.py +1 -1
  9. odoo/addons/l10n_br_fiscal/models/document_fiscal_line_mixin_methods.py +4 -3
  10. odoo/addons/l10n_br_fiscal/models/document_fiscal_mixin_fields.py +2 -2
  11. odoo/addons/l10n_br_fiscal/models/document_fiscal_mixin_methods.py +37 -31
  12. odoo/addons/l10n_br_fiscal/models/document_move_mixin.py +3 -1
  13. odoo/addons/l10n_br_fiscal/models/document_serie.py +1 -1
  14. odoo/addons/l10n_br_fiscal/models/product_template.py +2 -2
  15. odoo/addons/l10n_br_fiscal/models/subsequent_document.py +0 -1
  16. odoo/addons/l10n_br_fiscal/models/subsequent_operation.py +0 -2
  17. odoo/addons/l10n_br_fiscal/models/tax_definition.py +1 -5
  18. odoo/addons/l10n_br_fiscal/readme/CONFIGURE.md +7 -0
  19. odoo/addons/l10n_br_fiscal/readme/CONTRIBUTORS.md +12 -0
  20. odoo/addons/l10n_br_fiscal/readme/DESCRIPTION.md +196 -0
  21. odoo/addons/l10n_br_fiscal/readme/HISTORY.md +1 -0
  22. odoo/addons/l10n_br_fiscal/readme/INSTALL.md +5 -0
  23. odoo/addons/l10n_br_fiscal/readme/ROADMAP.md +1 -0
  24. odoo/addons/l10n_br_fiscal/readme/USAGE.md +4 -0
  25. odoo/addons/l10n_br_fiscal/static/description/index.html +155 -43
  26. odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_generic.py +1 -1
  27. odoo/addons/l10n_br_fiscal/tests/test_ibpt.py +1 -2
  28. odoo/addons/l10n_br_fiscal/tools.py +2 -2
  29. odoo_addon_l10n_br_fiscal-16.0.1.18.2.dist-info/METADATA +364 -0
  30. {odoo_addon_l10n_br_fiscal-16.0.1.18.1.dist-info → odoo_addon_l10n_br_fiscal-16.0.1.18.2.dist-info}/RECORD +32 -32
  31. {odoo_addon_l10n_br_fiscal-16.0.1.18.1.dist-info → odoo_addon_l10n_br_fiscal-16.0.1.18.2.dist-info}/WHEEL +1 -1
  32. odoo_addon_l10n_br_fiscal-16.0.1.18.2.dist-info/top_level.txt +1 -0
  33. odoo/addons/l10n_br_fiscal/readme/CONFIGURE.rst +0 -5
  34. odoo/addons/l10n_br_fiscal/readme/CONTRIBUTORS.rst +0 -19
  35. odoo/addons/l10n_br_fiscal/readme/DESCRIPTION.rst +0 -103
  36. odoo/addons/l10n_br_fiscal/readme/HISTORY.rst +0 -0
  37. odoo/addons/l10n_br_fiscal/readme/INSTALL.rst +0 -4
  38. odoo/addons/l10n_br_fiscal/readme/ROADMAP.rst +0 -0
  39. odoo/addons/l10n_br_fiscal/readme/USAGE.rst +0 -1
  40. odoo_addon_l10n_br_fiscal-16.0.1.18.1.dist-info/METADATA +0 -244
  41. odoo_addon_l10n_br_fiscal-16.0.1.18.1.dist-info/top_level.txt +0 -1
@@ -0,0 +1,364 @@
1
+ Metadata-Version: 2.1
2
+ Name: odoo-addon-l10n_br_fiscal
3
+ Version: 16.0.1.18.2
4
+ Requires-Python: >=3.10
5
+ Requires-Dist: erpbrasil.base>=2.3.0
6
+ Requires-Dist: odoo-addon-l10n_br_base>=16.0dev,<16.1dev
7
+ Requires-Dist: odoo>=16.0a,<16.1dev
8
+ Summary: Brazilian fiscal core module.
9
+ Home-page: https://github.com/OCA/l10n-brazil
10
+ License: AGPL-3
11
+ Author: Akretion, Odoo Community Association (OCA)
12
+ Author-email: support@odoo-community.org
13
+ Classifier: Programming Language :: Python
14
+ Classifier: Framework :: Odoo
15
+ Classifier: Framework :: Odoo :: 16.0
16
+ Classifier: License :: OSI Approved :: GNU Affero General Public License v3
17
+ Classifier: Development Status :: 5 - Production/Stable
18
+
19
+ ========================
20
+ Módulo fiscal brasileiro
21
+ ========================
22
+
23
+ ..
24
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
25
+ !! This file is generated by oca-gen-addon-readme !!
26
+ !! changes will be overwritten. !!
27
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
28
+ !! source digest: sha256:a248da3cdce943ad2d1d06331dca73ca572668dbf62b6786726192e4a000e1f2
29
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
30
+
31
+ .. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
32
+ :target: https://odoo-community.org/page/development-status
33
+ :alt: Production/Stable
34
+ .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
35
+ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
36
+ :alt: License: AGPL-3
37
+ .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--brazil-lightgray.png?logo=github
38
+ :target: https://github.com/OCA/l10n-brazil/tree/16.0/l10n_br_fiscal
39
+ :alt: OCA/l10n-brazil
40
+ .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
41
+ :target: https://translation.odoo-community.org/projects/l10n-brazil-16-0/l10n-brazil-16-0-l10n_br_fiscal
42
+ :alt: Translate me on Weblate
43
+ .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
44
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-brazil&target_branch=16.0
45
+ :alt: Try me on Runboat
46
+
47
+ |badge1| |badge2| |badge3| |badge4| |badge5|
48
+
49
+ |image|
50
+
51
+ Classificações fiscais
52
+ ----------------------
53
+
54
+ Primeramente, este módulo traz uma variedade de cadastros fiscais para
55
+ produtos, parceiros ou empresas. Na hora de emitir documentos fiscais
56
+ como NF-e, NFS-e etc... até empresas do regime simplificado ou MEI
57
+ precisam de vários desses cadastros. E empresas do regime normal
58
+ precisam deles para calcular os impostos ou emitir documentos fiscais.
59
+
60
+ Produtos:
61
+
62
+ - tipo fiscal
63
+ - NCM (com ligações com os impostos)
64
+ - genêro fiscal
65
+ - CEST
66
+ - NBM
67
+ - NBS
68
+ - tipo de serviço
69
+ - unidades fiscais
70
+
71
+ Parceiros:
72
+
73
+ - CNAE
74
+ - perfil fiscal
75
+
76
+ Conceito de documento fiscal
77
+ ----------------------------
78
+
79
+ O Odoo nativo não tem o conceito de documento fiscal. O conceito mais
80
+ parecido seria o ``account.move`` e até a versão 10.0 a localização
81
+ estendia o invoice para suportar as NF-e e NFS-e apenas. Naquela época
82
+ não era razoável você cogitar fazer o SPED no Odoo, o próprio core do
83
+ Odoo não tinha maturidade para isso então era válido a abordagem
84
+ empírica de ir suportando mais casos de NFe dentro do invoice Odoo
85
+ apenas.
86
+
87
+ Porém, na v12, amadurecemos o framework XML/SOAP de forma que se torna
88
+ razoável suportar vários documentos fiscais (NF-e, NFS-e, MDF-e, CT-e,
89
+ EFD-Reinf, e-Social, GNRE, BP-e...) com a qualidade OCA dentro do Odoo.
90
+ Também, apesar de complexo, o core do Odoo finalmente tem suporte
91
+ suficiente para as operações de uma empresa que faria o SPED.
92
+
93
+ Nisso se torna interessante ter o conceito de documento fiscal
94
+ ``l10n_br_fiscal.document`` independente do invoice Odoo para suportar
95
+ todos os documentos fiscais mesmo, de forma modular. Um outro motivo
96
+ para ter o conceito de documento fiscal fora do módulo account é que
97
+ quando você analisa o código deste módulo ``l10n_br_fiscal``, quase nada
98
+ dele poderia ser feito pelo módulo account do Odoo. Então ter esse
99
+ módulo l10n_br_fiscal que não depende do módulo account também é uma
100
+ forma de modularizar a localização para facilitar a manutenção dela,
101
+ especialmente quando se trata de migrar e que o módulo pode ter mudado
102
+ bastante como foi o caso entre a v8.0 e a v9.0 ou a v12.0 e v13.0 por
103
+ exemplo. Facilita também a governança do projeto possibilitando que
104
+ pessoas sejam responsáveis por diferentes partes. O módulo
105
+ l10n_br_fiscal foi principalmente extraído do módulo
106
+ l10n_br_l10n_br_account_product das v7.0 as v.10.0.
107
+
108
+ Esse módulo ``l10n_br_fiscal`` é agnóstico de qualquer tecnologia XML ou
109
+ SOAP. Ele contém apenas o que há de comum entre os documentos fiscais
110
+ mas esses últimos são implementados em outros módulos. Para um
111
+ determinado documento fiscal como a Nf-e, você tem então por exemplo:
112
+
113
+ - ``nfelib``: um pacote de data bindings puro Python (que não depende
114
+ do Odoo). Em geral usamos um gerador de código para gerar esses
115
+ bindings a partir dos esquemas XSD da fazenda.
116
+ - ``l10n_br_nfe_spec``: um modulo de mixins Odoo geridos também a
117
+ partir dos XSD. Esses mixins são apenas as estruturas de dados das
118
+ especificações antes de ser injectados em objetos Odoo existantes
119
+ (como res.partner ou l10n_br_fiscal.document) ou até tornados
120
+ concretos caso não exite objetos na Odoo ou na OCA para eles já.
121
+ - ``l10n_br_nfe``: um módulo Odoo que trata de injectar esses mappings
122
+ fiscais nos objetos Odoo e que implementa a lógica como os wizards
123
+ para a transmissão.
124
+
125
+ A transmissão é realizada usando uma lib de transmissão como
126
+ ``erpbrasil.doc`` (baseada em Python Zeep). Importante: no caso da
127
+ ``NFS-e``, a ausência de padrão nacional hoje e a simplicidade do modelo
128
+ (comparado com a NFe) faz que foi decidido de não usar um módulo de
129
+ mixins fiscais Odoo geridos, o mapping é com a lib de binding é feito
130
+ manualmente, família de NFS-e por família.
131
+
132
+ Alem disso a maioria do codigo do ``l10n_br_fiscal.document`` e das
133
+ linhas dele ``l10n_br_fiscal.document.line`` é na verdade feito dentro
134
+ de mixins ``10n_br_fiscal.document.mixin`` e
135
+ ``10n_br_fiscal.document.line.mixin`` respectivamente. Esses mixins
136
+ podem assim ser injectados em outros objetos Odoo que precedem os
137
+ documentos fiscais e podem armazenar então o mesmo tipo de informação:
138
+ ``sale.order``, ``purchase.order``, ``stock.picking``... Isso é bem
139
+ visível nos módulos que estendem esse módulo:
140
+
141
+ .. code:: text
142
+
143
+ |-- l10n_br_fiscal
144
+ |-- l10n_br_sale
145
+ |-- l10n_br_purchase
146
+ |-- l10n_br_account
147
+ |-- ...
148
+
149
+ Porem o caso do invoice Odoo no modulo ``l10n_br_account`` é diferente
150
+ ainda. Pois já se tem a tabela independente do documento fiscal cuja
151
+ grande maioria das dezenas e até centenas de campos fiscais (no caso de
152
+ muitos tipos de documentos fiscais) não são redundante com os do invoice
153
+ Odoo. Se a gente injetasse esses mixins dentro do invoice, aí sim essas
154
+ centenas de campos seriam duplicados entre o invoice e o documento
155
+ fiscal. Por isso, o sistema que foi adotado no modulo
156
+ ``l10n_br_account`` é que um invoice Odoo passa a ter um
157
+ ``_inherits = "l10n_br_fiscal.document"`` de forma que se pilota o
158
+ documento fiscal através do invoice, oferecendo o mesmo tipo de
159
+ integração como antes. O mesmo tipo de mecanismo acontece com a linha do
160
+ documento fiscal.
161
+
162
+ Sendo assim, já pelos \_inherits, o invoice Odoo e as linhas dele já vão
163
+ puxar todos campos fiscais como se eles fossem das suas respectivas
164
+ tabelas sem duplicar eles no banco. Se alem disso a gente injetasse os
165
+ mixins ``10n_br_fiscal.document.mixin`` e
166
+ ``10n_br_fiscal.document.line.mixin`` no invoice e invoice.line, esses
167
+ campos fiscais apareceriam também nas tabelas ``account_move`` e
168
+ ``account_move_line`` de forma redundantes com os campos puxados pelos
169
+ \_inherits. Para não ter esse problema, os métodos fiscais comuns (sem
170
+ os campos) foram ainda extraidos nos mixins:
171
+ ``10n_br_fiscal.document.mixin.methods`` e
172
+ ``10n_br_fiscal.document.line.mixin.methods`` que são injectados nos
173
+ objetos ``account_move`` e ``account_move_line`` respectivamente dentro
174
+ do modulo ``l10n_br_account``.
175
+
176
+ Impostos brasileiros
177
+ --------------------
178
+
179
+ O módulo l10n_br_fiscal lida com os principais impostos brasileiros
180
+ como:
181
+
182
+ - ICMS do Simples Nacional
183
+ - ICMS do Regime normal
184
+ - IPI
185
+ - PIS
186
+ - COFINS
187
+ - ISSQN
188
+ - IRPJ
189
+ - II
190
+ - CSLL
191
+ - INSS
192
+
193
+ O módulo l10n_br_fiscal também lida com:
194
+
195
+ - ST
196
+ - retenções
197
+
198
+ |image1|
199
+
200
+ |image2|
201
+
202
+ É notório que o cálculo dos impostos no Brasil é muito especial e muito
203
+ trabalhoso. Geralmente é o motivo pelo qual os ERPs internacionais não
204
+ tem grande fatia de mercado brasileiro.
205
+
206
+ Até a versão 10.0, tentamos usar e estender o objeto Odoo
207
+ ``account.tax``. A Akretion até criou o projeto
208
+ ``OCA/account-fiscal-rule`` para determinar as alíquotas de cada imposto
209
+ de accordo com os parâmetros da operação fiscal. Porém, a gente acabava
210
+ usando quase nada do ``account.fiscal.position`` nativo na parte fiscal
211
+ e pelo contrário, isso nos obrigava a ter um registro ``account.tax``
212
+ para cada aliquota e nos obrigava a manter centenas de taxas e dezenas
213
+ de milhares de regras para selecionar a "posição fiscal" Odoo que
214
+ aplicaria as taxas corretas. E você ainda tinha que gerir essas dezenas
215
+ de milhares de regras para uma determinada empresa do regime normal.
216
+ Conclusão: era inviável nos projetos menores de tentar se encaixa na
217
+ lógica do Odoo para calcular os impostos brasileiros.
218
+
219
+ Nisso criamos neste módulo os modelos de taxas que representam
220
+ exatamente o funcionamentos dos impostos brasileiros. Além dos cálculos,
221
+ esses modelos também nos servem a carregar as tabelas dos impostos. E
222
+ mais adiante, no módulo ``l10n_br_account``, ligamos os objetos nativos
223
+ ``account.tax`` as alíquotas dos impostos brasileiros.
224
+
225
+ Claro esses modelos dos impostos atendem as empresas do regime normal,
226
+ mas é bom lembrar que até empresas do regime simplificado precisam
227
+ desses modelos para realizar as operações com ST (Substituição
228
+ Tributária)...
229
+
230
+ Operações fiscais
231
+ -----------------
232
+
233
+ |image3|
234
+
235
+ No Odoo nativo, o conceito mais parecido com a operação fiscal e o
236
+ ``account.fiscal.position``. E ate a versão 10.0, era o que a gente
237
+ usava. Porém, a posição fiscal do Odoo não resolve muito os nossos
238
+ problemas pois:
239
+
240
+ - no Brasil se tem uma operação fiscal por linha de documento fiscal
241
+ - a posição fiscal do Odoo desconhece a lógica da parametrização fiscal
242
+ brasileira
243
+ - já que puxamos o cadastro dos impostos no módulo l10n_br_fiscal fora
244
+ do módulo account (sem depender dele), não temos ainda o objeto
245
+ ``account.fiscal.position`` neste módulo.
246
+
247
+ Com tudo, optamos por criar um objeto ``l10n_br_fiscal.operation`` que
248
+ faz exactamente o que precisamos para o Brasil. Mais adiante, no módulo
249
+ ``l10n_br_account`` é realizado a integração entre a posição fiscal do
250
+ Odoo e essa operação fiscal.
251
+
252
+ .. |image| image:: https://raw.githubusercontent.com/OCA/l10n-brazil/16.0/l10n_br_fiscal/static/img/fiscal_dashboard.png
253
+ .. |image1| image:: https://raw.githubusercontent.com/OCA/l10n-brazil/16.0/l10n_br_fiscal/static/img/fiscal_line.png
254
+ .. |image2| image:: https://raw.githubusercontent.com/OCA/l10n-brazil/16.0/l10n_br_fiscal/static/img/fiscal_total.png
255
+ .. |image3| image:: https://raw.githubusercontent.com/OCA/l10n-brazil/16.0/l10n_br_fiscal/static/img/fiscal_operation.png
256
+
257
+ **Table of contents**
258
+
259
+ .. contents::
260
+ :local:
261
+
262
+ Installation
263
+ ============
264
+
265
+ Para instalar o módulo l10n_br_fiscal, você precisa de instalar primeiro
266
+ os pacotes Python
267
+
268
+ - erpbrasil.base
269
+ - erpbrasil.assinatura
270
+
271
+ Configuration
272
+ =============
273
+
274
+ Para uma boa configuração fiscal, você tem que revisar bem:
275
+
276
+ - em Configurações: as operaçoes fiscais que você vai usar, as linhas
277
+ de operação fiscal e as definições das taxas nessas linhas.
278
+ - a configuração fiscal da sua empresa (aba fiscal)
279
+ - a configuração fiscal dos clientes e fornecedores (aba fiscal) e dos
280
+ produtos (aba fiscal).
281
+
282
+ Usage
283
+ =====
284
+
285
+ Você pode criar documentos fiscais direitamente pelo menu fiscal, mas a
286
+ princípio você vai pilotar a criação de documentos fiscais a partir dos
287
+ invoices Odoo, usando módulos adicionais como l10n_br_account,
288
+ l10n_br_sale, l10n_br_purchase...
289
+
290
+ Known issues / Roadmap
291
+ ======================
292
+
293
+
294
+
295
+ Changelog
296
+ =========
297
+
298
+
299
+
300
+ Bug Tracker
301
+ ===========
302
+
303
+ Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-brazil/issues>`_.
304
+ In case of trouble, please check there if your issue has already been reported.
305
+ If you spotted it first, help us to smash it by providing a detailed and welcomed
306
+ `feedback <https://github.com/OCA/l10n-brazil/issues/new?body=module:%20l10n_br_fiscal%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
307
+
308
+ Do not contact contributors directly about support or help with technical issues.
309
+
310
+ Credits
311
+ =======
312
+
313
+ Authors
314
+ -------
315
+
316
+ * Akretion
317
+
318
+ Contributors
319
+ ------------
320
+
321
+ - `Akretion <https://www.akretion.com/pt-BR>`__:
322
+
323
+ - Renato Lima <renato.lima@akretion.com.br>
324
+ - Raphaël Valyi <raphael.valyi@akretion.com.br>
325
+ - Magno Costa <magno.costa@akretion.com.br>
326
+
327
+ - `KMEE <https://www.kmee.com.br>`__:
328
+
329
+ - Luis Felipe Mileo <mileo@kmee.com.br>
330
+ - Luis Otavio Malta Conceição <luis.malta@kmee.com.br>
331
+
332
+ - `Escodoo <https://www.escodoo.com.br>`__:
333
+
334
+ - Marcel Savegnago <marcel.savegnago@escodoo.com.br>
335
+
336
+ - `Engenere <https://engenere.one>`__:
337
+
338
+ - Antônio S. Pereira Neto <neto@engenere.one>
339
+ - Felipe Motter Pereira <felipe@engenere.one>
340
+
341
+ Maintainers
342
+ -----------
343
+
344
+ This module is maintained by the OCA.
345
+
346
+ .. image:: https://odoo-community.org/logo.png
347
+ :alt: Odoo Community Association
348
+ :target: https://odoo-community.org
349
+
350
+ OCA, or the Odoo Community Association, is a nonprofit organization whose
351
+ mission is to support the collaborative development of Odoo features and
352
+ promote its widespread use.
353
+
354
+ .. |maintainer-renatonlima| image:: https://github.com/renatonlima.png?size=40px
355
+ :target: https://github.com/renatonlima
356
+ :alt: renatonlima
357
+
358
+ Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
359
+
360
+ |maintainer-renatonlima|
361
+
362
+ This module is part of the `OCA/l10n-brazil <https://github.com/OCA/l10n-brazil/tree/16.0/l10n_br_fiscal>`_ project on GitHub.
363
+
364
+ You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
@@ -1,8 +1,8 @@
1
- odoo/addons/l10n_br_fiscal/README.rst,sha256=tMnC5XmvdokJ1KBsd0bv9FqH3vo63PUmwX7GPY8XgO4,13503
1
+ odoo/addons/l10n_br_fiscal/README.rst,sha256=3XMzxjRY0DkL4UFjJk3O_b9RStQIBZxFqU_dT7ygwhM,13710
2
2
  odoo/addons/l10n_br_fiscal/__init__.py,sha256=16Tdff74OkWmnKSfmV6qrNkgsK12gOtMMppwWmIAFIo,144
3
- odoo/addons/l10n_br_fiscal/__manifest__.py,sha256=tZIzpNH2Q_gm0_x0BIe6TRoGyyYEkNjcUdJut-52Jhk,4115
3
+ odoo/addons/l10n_br_fiscal/__manifest__.py,sha256=Lp6d9xhbc5aZvdCYaeWSXY4XIH8GgSQ7b3Me5Qjtt8U,4115
4
4
  odoo/addons/l10n_br_fiscal/hooks.py,sha256=cna_821w1vrwbfQd59YVY66cU9hhY0av2Zwzr5nHDVI,4825
5
- odoo/addons/l10n_br_fiscal/tools.py,sha256=nh67fxnJjF3Y-yfHl2mJh6TxMkr8r8GKEQ6NJliTAHE,2488
5
+ odoo/addons/l10n_br_fiscal/tools.py,sha256=TP8pifcnvh51FM70KxMxpbuU01gAx1BFTbaRZAvqyB0,2484
6
6
  odoo/addons/l10n_br_fiscal/constants/fiscal.py,sha256=ICWcrew-iUcWFgF4bLzdjUtbMdaejZ0AucwLFu5u1fo,14935
7
7
  odoo/addons/l10n_br_fiscal/constants/icms.py,sha256=rHlM6jyRvhrIm03sd6guS1xh7SptADLltPmRJ3C_Vh8,3512
8
8
  odoo/addons/l10n_br_fiscal/constants/ipi.py,sha256=uNVkNVLsJdHPTMujOZm_DpO9f2oQcIMapYL3-6YAGqg,702
@@ -58,31 +58,31 @@ odoo/addons/l10n_br_fiscal/demo/partner_demo.xml,sha256=Nuw5PaZ4ernV9bqEP4oRcsmV
58
58
  odoo/addons/l10n_br_fiscal/demo/product_demo.xml,sha256=D61ewI_-geCkYnCVYN9nbflZlmX_j8xwE1UWVBTr5XE,83686
59
59
  odoo/addons/l10n_br_fiscal/demo/res_users_demo.xml,sha256=CL7BmZ1xnWSh6MSWxrG9dK9C1ObTYGvgj21vCcY4_qE,599
60
60
  odoo/addons/l10n_br_fiscal/demo/subsequent_operation_demo.xml,sha256=U-PJXr6uerccXT5dR8_KXKTu1YOahR0dKBcowlHgQIU,560
61
- odoo/addons/l10n_br_fiscal/i18n/l10n_br_fiscal.pot,sha256=NnRR0wm7PfHTYAQmIwHYRwU7Q4fCx6hx9tNUV75XnMI,464574
61
+ odoo/addons/l10n_br_fiscal/i18n/l10n_br_fiscal.pot,sha256=_5xWoDhBnn8mvX2LLH6shO9hMM3KEQH2Z-HRLdRD7pI,469806
62
62
  odoo/addons/l10n_br_fiscal/i18n/pt_BR.po,sha256=gLpsYIY-frnZGnrNL_i5MGKsyLIKFdAlwKwgocVD4TI,524572
63
63
  odoo/addons/l10n_br_fiscal/models/__init__.py,sha256=Baltz2F1zNbKQ1ctk1hUYepi4TxLP_SDNL45MJlfR88,2187
64
64
  odoo/addons/l10n_br_fiscal/models/cest.py,sha256=FKWv89l6m9LiB-LPN789917BwCkWshSj2nlZ6yrNtpE,1955
65
65
  odoo/addons/l10n_br_fiscal/models/cfop.py,sha256=3MF857TFGVERQcwcDM97-PcM0Xes4uTfPsAPogZG7Q4,3263
66
66
  odoo/addons/l10n_br_fiscal/models/city_taxation_code.py,sha256=2uqZoJmhip1KcvliKsUYpfzB6RecAv9dC-7sFkRJVgc,1192
67
67
  odoo/addons/l10n_br_fiscal/models/cnae.py,sha256=T70_v9-pa8hxydswac8Qv9eawpTC_Qbv1cGXsLl13mo,1021
68
- odoo/addons/l10n_br_fiscal/models/comment.py,sha256=IaXdi-MePXCMnOfCRwioMQMDJq7h6v9Dq_2lp8oXfI8,5330
68
+ odoo/addons/l10n_br_fiscal/models/comment.py,sha256=7LZ4VIp73cnSfQvHt7SuOieTGdBSBsjbhKNZ8YP3bo8,5277
69
69
  odoo/addons/l10n_br_fiscal/models/cst.py,sha256=sGLlTUJXutsS24UEvfanL-IogujAmS6pMPMOdflnp7E,1010
70
- odoo/addons/l10n_br_fiscal/models/data_abstract.py,sha256=2ZxATYOo2Zn-n7Fdnnnk-Q_baXFgDJBSIytv2PPFU8s,3515
71
- odoo/addons/l10n_br_fiscal/models/data_ncm_nbs_abstract.py,sha256=zT7RMiM-5dQS9CYDQvfAofN_prMpXMluOySmogkwSYY,6722
70
+ odoo/addons/l10n_br_fiscal/models/data_abstract.py,sha256=OwFGbvuNV57APApmYf1jJ3H3-UlY2FHJDPNB2OwTmXc,3489
71
+ odoo/addons/l10n_br_fiscal/models/data_ncm_nbs_abstract.py,sha256=rHm2r3o0nwo3ZDOdrrTosU9Thzqt_D7SZWaxjgnR81I,6763
72
72
  odoo/addons/l10n_br_fiscal/models/data_product_abstract.py,sha256=wbc3exJQp33aYK8IOJ490JvDWBPCpU0NEkMR6YjaLfQ,793
73
73
  odoo/addons/l10n_br_fiscal/models/document.py,sha256=rr24uYn9a4MocUPrAEwOmONvFmjKGAyuuOBH1cJw6-Y,19139
74
- odoo/addons/l10n_br_fiscal/models/document_eletronic.py,sha256=sBM2hS_S20840zVThaOM4LIGWScS8yVIvuUakU2hYGg,6993
74
+ odoo/addons/l10n_br_fiscal/models/document_eletronic.py,sha256=Zvif8p5J_bkFuvH8pscjEiwoUstq49dKiWdWaIrvGmw,6958
75
75
  odoo/addons/l10n_br_fiscal/models/document_email.py,sha256=ikGhCrTI18X01RszlCqO0tvhTOKr2d5KJLcj_QA1o_Y,2113
76
- odoo/addons/l10n_br_fiscal/models/document_event.py,sha256=iO8CxGe7_Til9tsvywxS4b4wNBwm4Cr9wyiv7IK_FMw,11311
76
+ odoo/addons/l10n_br_fiscal/models/document_event.py,sha256=iN7CfOMPDRj1kB_VG3AxMjxhhvJ_PuJ88s061i0szIE,11311
77
77
  odoo/addons/l10n_br_fiscal/models/document_fiscal_line_mixin.py,sha256=v9Wv0b206PBoUg5WmldqIGlpWwaulNmBxFO_3Ii9714,26240
78
- odoo/addons/l10n_br_fiscal/models/document_fiscal_line_mixin_methods.py,sha256=imq7xW5guL9N5xifAahibFfMxoYK1vPhxSHuDGmf7L4,32662
78
+ odoo/addons/l10n_br_fiscal/models/document_fiscal_line_mixin_methods.py,sha256=Q1yytUFJMTGt8PoLSPCrBk2sfXhEs4vVM-jnEP70jnU,32699
79
79
  odoo/addons/l10n_br_fiscal/models/document_fiscal_mixin.py,sha256=1Ep0ClxXpMTB_mzikF_3gdA3Nk6N2YxMR8yDq_QoOAg,282
80
- odoo/addons/l10n_br_fiscal/models/document_fiscal_mixin_fields.py,sha256=mHz80uCAYTNONOd6ax5klpXZrC87HLdPgt1LvBcK23o,11395
81
- odoo/addons/l10n_br_fiscal/models/document_fiscal_mixin_methods.py,sha256=XdbVoBuRCgPL_viEfELzp0mQgbqf-h696QC_RlA45DE,11427
80
+ odoo/addons/l10n_br_fiscal/models/document_fiscal_mixin_fields.py,sha256=hYg2uwPsSPFKv10j9HoNaRWMkEC4Fw2tC5LHdZ1nrt4,11390
81
+ odoo/addons/l10n_br_fiscal/models/document_fiscal_mixin_methods.py,sha256=RA1ciMP-G_8_X4DE1T8K9o-VoO3M5Zw1OAATqdui9x0,11650
82
82
  odoo/addons/l10n_br_fiscal/models/document_line.py,sha256=N_aSQZzXlpJpapdaDXA2Gv2xbCoqRO-nDhuh6LHu0eE,1398
83
- odoo/addons/l10n_br_fiscal/models/document_move_mixin.py,sha256=oGwzAwv-W1wshK9hVsIuQ6oq16NPmUg5oybrk3c00rk,6974
83
+ odoo/addons/l10n_br_fiscal/models/document_move_mixin.py,sha256=ulMK_FTA6AyxAC9CnduL3JtQr1hByn7B2D9ya19Tld4,7038
84
84
  odoo/addons/l10n_br_fiscal/models/document_related.py,sha256=rn3SK1BmrEYywquMRNodrwHdKa1PpZzEaqbyF9dw6EY,4181
85
- odoo/addons/l10n_br_fiscal/models/document_serie.py,sha256=ZtmsCWZl6JMdiyZMxtZSH7_prVskXOYoiFeAMxY38is,4136
85
+ odoo/addons/l10n_br_fiscal/models/document_serie.py,sha256=Spe7kpgMBFGS_LBv3DpiqTC4WuafTK8LRv53GVR2UcM,4128
86
86
  odoo/addons/l10n_br_fiscal/models/document_type.py,sha256=apFUxAOKsXK4EzGRXiscLf6QDOqHVGFRZ-m95mXSudE,2150
87
87
  odoo/addons/l10n_br_fiscal/models/document_workflow.py,sha256=_xOx31IkOfgM2IdG117OQ1BL0YRolAEU0Zx8NyWcfp8,14653
88
88
  odoo/addons/l10n_br_fiscal/models/ibpt.py,sha256=iv9TCqJdFu2mlemvoJDzBllKlwQPYtVk_Rf05sUpLho,2506
@@ -103,7 +103,7 @@ odoo/addons/l10n_br_fiscal/models/partner_profile.py,sha256=0crL892OKXZyv188KhjG
103
103
  odoo/addons/l10n_br_fiscal/models/product_genre.py,sha256=Q4NhYuwCNfwKqU6W_EOb9tzqFQ9EmOFxQZiNUm3NrVs,426
104
104
  odoo/addons/l10n_br_fiscal/models/product_mixin.py,sha256=QMFK2iU44_9Od7HSHpUI64oioeNz9opCX55t4LciBcM,1198
105
105
  odoo/addons/l10n_br_fiscal/models/product_product.py,sha256=oo-vk3FF438qeQrI7LosD0vq1-YuTgfVqrq3_UrmdgY,300
106
- odoo/addons/l10n_br_fiscal/models/product_template.py,sha256=NUtUmjulS4jPwLfW4uLxHBTJVQhi5XYavbdiECJbttc,3834
106
+ odoo/addons/l10n_br_fiscal/models/product_template.py,sha256=RUPlp6_DHgGwDiALj5nYDRzbBdUROLptUK0pTpE8-O4,3834
107
107
  odoo/addons/l10n_br_fiscal/models/res_company.py,sha256=3aEriHya9Fk3jtTHz3WPAPblJRTyf54vYLLIs5PCXjs,16255
108
108
  odoo/addons/l10n_br_fiscal/models/res_config_settings.py,sha256=wqYGsGSNkbypOEU5pk2LMPYZCy7_VSdZw44hYxGpCbo,1325
109
109
  odoo/addons/l10n_br_fiscal/models/res_country_state.py,sha256=5hxWhGXqCqcH1aChGGm36d5WGjYaZXiRmDyASA6_7AM,483
@@ -111,10 +111,10 @@ odoo/addons/l10n_br_fiscal/models/res_partner.py,sha256=W306lrIQuYbXt2Vf8tIWhfRM
111
111
  odoo/addons/l10n_br_fiscal/models/service_type.py,sha256=jYzB-Swwxr5Ad-WuCxQ5QdgtxgnbBqGC5tW4kjHBZKY,1430
112
112
  odoo/addons/l10n_br_fiscal/models/simplified_tax.py,sha256=ayUrykfKDW8em00uidO7IjT5ynuav3FS6jV_egJCstQ,913
113
113
  odoo/addons/l10n_br_fiscal/models/simplified_tax_range.py,sha256=2fhHkkI8uHc22XtWU-23ioQLioaCrJAwaTsr8-eugM4,1839
114
- odoo/addons/l10n_br_fiscal/models/subsequent_document.py,sha256=C0x-xgFxVLgJ4Sqhv1lL5olZrSwak9u6ij39x_BKIY8,6859
115
- odoo/addons/l10n_br_fiscal/models/subsequent_operation.py,sha256=KDw5l05YYg_3VELwnTPsg7oLZT1W6pKyNeKr2EFdTbs,1677
114
+ odoo/addons/l10n_br_fiscal/models/subsequent_document.py,sha256=Z_LfOOtlmr7Fr45fbTevTYyFcZr5dKsjSovLhKqjIOM,6793
115
+ odoo/addons/l10n_br_fiscal/models/subsequent_operation.py,sha256=jkeo7KjR3NaXWv7O2Mujx7OmQE7S1lIN1zR10oFbjRk,1610
116
116
  odoo/addons/l10n_br_fiscal/models/tax.py,sha256=8GSop6Wr6m2cH9ihSyrH-pOKrDarqTbBCZDkSMivFz8,25795
117
- odoo/addons/l10n_br_fiscal/models/tax_definition.py,sha256=vChYIDnFHyJtQZ8g2y_9i_chjdJ5TzeR29eohOw90Fc,12045
117
+ odoo/addons/l10n_br_fiscal/models/tax_definition.py,sha256=ZWFj-ZPZJ15pDVKGoFG0IOOHiotkpUdU0XoMThZd_xI,11943
118
118
  odoo/addons/l10n_br_fiscal/models/tax_definition_benefit.py,sha256=L8XEDIMydpa1AbcQVJdgD31sxajffoYH2rk8qGtIbbI,3821
119
119
  odoo/addons/l10n_br_fiscal/models/tax_definition_cfop.py,sha256=qOGXBetor0P4ogxy0aojrFH_jgIrX-58A2YsDTqYlYI,1277
120
120
  odoo/addons/l10n_br_fiscal/models/tax_definition_company.py,sha256=LtY3ntiB20bGZpS23NOwEYaJYD99CRMv5K_4jz2Gl4Y,1064
@@ -131,27 +131,27 @@ odoo/addons/l10n_br_fiscal/models/tax_pis_cofins_base.py,sha256=tHh6cXYKnPf5Jl33
131
131
  odoo/addons/l10n_br_fiscal/models/tax_pis_cofins_credit.py,sha256=a2JoC2Uxl9Swt2zFA-9H7syyO3AmM6UqzHnTX_pJjro,546
132
132
  odoo/addons/l10n_br_fiscal/models/uom_uom.py,sha256=HGVgy9KYa_LMFxlKS732raSflBnYFQpp4J_odvKrR80,1205
133
133
  odoo/addons/l10n_br_fiscal/models/uom_uom_alternative.py,sha256=7FsdDXHcC7Gr4_RPqkuESBIKXCxnXrR_VRhE9RC7RHc,533
134
- odoo/addons/l10n_br_fiscal/readme/CONFIGURE.rst,sha256=eQoALAeI8gs68L-tzH58POuod6HyReZlra0-vIrKMb4,352
135
- odoo/addons/l10n_br_fiscal/readme/CONTRIBUTORS.rst,sha256=mS6TruKbDbOr_JZCPgYNZ4n886_tGuU6324mXQANT18,569
136
- odoo/addons/l10n_br_fiscal/readme/DESCRIPTION.rst,sha256=_hJguNB0fwKQZk5s8_lLILrHcQfqGzbFaVEa8dT9VTo,8859
137
- odoo/addons/l10n_br_fiscal/readme/HISTORY.rst,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
- odoo/addons/l10n_br_fiscal/readme/INSTALL.rst,sha256=86kR2HOuX5yhULmqz28puyPWkArrsocMTKIFx4bQkMs,134
139
- odoo/addons/l10n_br_fiscal/readme/ROADMAP.rst,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
- odoo/addons/l10n_br_fiscal/readme/USAGE.rst,sha256=jDnMjM42hjTlqhbpIzjkhJo59eX4jldfQXBKNqyzkmg,247
134
+ odoo/addons/l10n_br_fiscal/readme/CONFIGURE.md,sha256=acej6gwvM9OP_LGKHnl3OJezBhzDZ-wmvJe3t2glX04,356
135
+ odoo/addons/l10n_br_fiscal/readme/CONTRIBUTORS.md,sha256=t_cpbxhF8wCIVuHXNES1_xS910ALJyjTC7tCZQAGHYM,586
136
+ odoo/addons/l10n_br_fiscal/readme/DESCRIPTION.md,sha256=Xpb1CNQHb1xEjaMb3S8a-pRG_9-EB3UbghWI4Tb_ZtY,8673
137
+ odoo/addons/l10n_br_fiscal/readme/HISTORY.md,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
138
+ odoo/addons/l10n_br_fiscal/readme/INSTALL.md,sha256=o2UqimrZMd9MsHpwuO6McKJxOGpxMDRftPX7rCM0PRw,134
139
+ odoo/addons/l10n_br_fiscal/readme/ROADMAP.md,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
140
+ odoo/addons/l10n_br_fiscal/readme/USAGE.md,sha256=Dw3uZaHJCUtV0xFq6VOQvF2G5fS_oSBCFqwJyXbt1RY,247
141
141
  odoo/addons/l10n_br_fiscal/security/fiscal_security.xml,sha256=c4D3MoIsVnkZ1pDY_iw8jM2hBPz3VCkl5JKnm_hkau0,3700
142
142
  odoo/addons/l10n_br_fiscal/security/ir.model.access.csv,sha256=63NQv85E3jV-T-Zw4pB72Jrdh6xPQ42glHQpOASGte0,15362
143
143
  odoo/addons/l10n_br_fiscal/static/description/icon.png,sha256=Vd1HydYBoGCzNfCqxLlch2i2aeCcyxo-uRxWNp6oMbw,14836
144
- odoo/addons/l10n_br_fiscal/static/description/index.html,sha256=JoM4RK35SfP8FX35m_Kc6vEY5qXRZgvZzxmGaIo5K40,26256
144
+ odoo/addons/l10n_br_fiscal/static/description/index.html,sha256=c4qcRdNdtVXBYHqV9Ez_sgd6a6duA2qQVJ9tXWmNLGg,26274
145
145
  odoo/addons/l10n_br_fiscal/static/img/fiscal_dashboard.png,sha256=Q0fpqFNqEXh6m6E1aJfzSKV2tQ9lC1Y-ofUt6qxVupc,151668
146
146
  odoo/addons/l10n_br_fiscal/static/img/fiscal_line.png,sha256=S4Q4OGSzGnbfm4W5sQVvnD4uUzxS6tbJGT_gs3pB4K0,134276
147
147
  odoo/addons/l10n_br_fiscal/static/img/fiscal_operation.png,sha256=2614c1XjxwVznh707e9gujlUXg0ttutKD1ZiSMTqyv8,105871
148
148
  odoo/addons/l10n_br_fiscal/static/img/fiscal_total.png,sha256=MaR6ZoM6ZZEaNZk2ynSmaHjkRUU0SOkeUW5_HbJQS50,132739
149
149
  odoo/addons/l10n_br_fiscal/tests/__init__.py,sha256=ZhXpC9YiUNYIdeEISO84mHNUDwwi2XCKiqhimLRtSg4,414
150
150
  odoo/addons/l10n_br_fiscal/tests/test_cnae.py,sha256=mmskSfWaoFSohjmRbnGci_6Euc9fc2zbhyH5FdyeIeA,616
151
- odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_generic.py,sha256=bAAj2qm2UQSbpUBD9GylHhVQW64V6MdPy4kNjh41L34,44065
151
+ odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_generic.py,sha256=Rt6V575xbehzVUTqb-EwJkJHDV20Q3o6N6aWOHSSSVs,44066
152
152
  odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_nfse.py,sha256=6Q-Ms42oju7vdcWv4bsRvxSd0DzchqaaHDIdw5ZZtME,1751
153
153
  odoo/addons/l10n_br_fiscal/tests/test_fiscal_tax.py,sha256=U6JbuqKTcyyFTiW5FZGqGY5yi_aPKaC6_LWz_3sKdpg,11322
154
- odoo/addons/l10n_br_fiscal/tests/test_ibpt.py,sha256=db7F_WNefarpIjODC94Tya_XCAdaUfK3VPY2v8ihoYw,5226
154
+ odoo/addons/l10n_br_fiscal/tests/test_ibpt.py,sha256=yZyMMc0KwFyWFQ-Ak3zBT9LLL73iCQf_lEQBuV_Nr9w,5207
155
155
  odoo/addons/l10n_br_fiscal/tests/test_ibpt_product.py,sha256=h00TpY-tTw3z8U24yTzzvyWkfnKjHqlCbqetBKJNV94,2794
156
156
  odoo/addons/l10n_br_fiscal/tests/test_ibpt_service.py,sha256=KXquJKXijwXY9ZlsU2s5pd0BRDBNigC_GsiMZH0aets,2668
157
157
  odoo/addons/l10n_br_fiscal/tests/test_icms_regulation.py,sha256=7ntQW41PhEKXAuOMxdP_bo1qyfjmumwXTUNWOozHQ-w,3025
@@ -224,7 +224,7 @@ odoo/addons/l10n_br_fiscal/wizards/document_status_wizard.py,sha256=_hsF1mQdknc0
224
224
  odoo/addons/l10n_br_fiscal/wizards/document_status_wizard.xml,sha256=S9hSkgbBKCt78bTe3sRupfnIcmZZ8KWhaZ9q_PKYvgc,2483
225
225
  odoo/addons/l10n_br_fiscal/wizards/invalidate_number_wizard.py,sha256=VYw_GXEdqsEW5kV8RJk-vP1X6KW_CafP1nxggdOICNY,1083
226
226
  odoo/addons/l10n_br_fiscal/wizards/invalidate_number_wizard.xml,sha256=H0JzzzbJmWziLZjZ8acQsqJcgsaYD3M6I3OydoNFuUc,1215
227
- odoo_addon_l10n_br_fiscal-16.0.1.18.1.dist-info/METADATA,sha256=BM2cQK4hxDBfulVHiYrGya3GOxl5zNumsgZGhqtBr08,14172
228
- odoo_addon_l10n_br_fiscal-16.0.1.18.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
229
- odoo_addon_l10n_br_fiscal-16.0.1.18.1.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
230
- odoo_addon_l10n_br_fiscal-16.0.1.18.1.dist-info/RECORD,,
227
+ odoo_addon_l10n_br_fiscal-16.0.1.18.2.dist-info/METADATA,sha256=fB4Ew79U4uj3ANZmudJqquU6EsMs3PDHZdFS9DqcUSA,14376
228
+ odoo_addon_l10n_br_fiscal-16.0.1.18.2.dist-info/WHEEL,sha256=8Rd4enx1PCuyDWP4SABqO5Fv8rpaknqp3VzjoFFLa6c,83
229
+ odoo_addon_l10n_br_fiscal-16.0.1.18.2.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
230
+ odoo_addon_l10n_br_fiscal-16.0.1.18.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: Whool 1.0.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,5 +0,0 @@
1
- Para uma boa configuração fiscal, você tem que revisar bem:
2
-
3
- * em Configurações: as operaçoes fiscais que você vai usar, as linhas de operação fiscal e as definições das taxas nessas linhas.
4
- * a configuração fiscal da sua empresa (aba fiscal)
5
- * a configuração fiscal dos clientes e fornecedores (aba fiscal) e dos produtos (aba fiscal).
@@ -1,19 +0,0 @@
1
- * `Akretion <https://www.akretion.com/pt-BR>`_:
2
-
3
- * Renato Lima <renato.lima@akretion.com.br>
4
- * Raphaël Valyi <raphael.valyi@akretion.com.br>
5
- * Magno Costa <magno.costa@akretion.com.br>
6
-
7
- * `KMEE <https://www.kmee.com.br>`_:
8
-
9
- * Luis Felipe Mileo <mileo@kmee.com.br>
10
- * Luis Otavio Malta Conceição <luis.malta@kmee.com.br>
11
-
12
- * `Escodoo <https://www.escodoo.com.br>`_:
13
-
14
- * Marcel Savegnago <marcel.savegnago@escodoo.com.br>
15
-
16
- * `Engenere <https://engenere.one>`_:
17
-
18
- * Antônio S. Pereira Neto <neto@engenere.one>
19
- * Felipe Motter Pereira <felipe@engenere.one>
@@ -1,103 +0,0 @@
1
- .. image:: ../static/img/fiscal_dashboard.png
2
-
3
-
4
- Classificações fiscais
5
- ~~~~~~~~~~~~~~~~~~~~~~
6
-
7
- Primeramente, este módulo traz uma variedade de cadastros fiscais para produtos, parceiros ou empresas. Na hora de emitir documentos fiscais como NF-e, NFS-e etc... até empresas do regime simplificado ou MEI precisam de vários desses cadastros. E empresas do regime normal precisam deles para calcular os impostos ou emitir documentos fiscais.
8
-
9
- Produtos:
10
- * tipo fiscal
11
- * NCM (com ligações com os impostos)
12
- * genêro fiscal
13
- * CEST
14
- * NBM
15
- * NBS
16
- * tipo de serviço
17
- * unidades fiscais
18
-
19
- Parceiros:
20
- * CNAE
21
- * perfil fiscal
22
-
23
-
24
- Conceito de documento fiscal
25
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26
-
27
- O Odoo nativo não tem o conceito de documento fiscal. O conceito mais parecido seria o ``account.move`` e até a versão 10.0 a localização estendia o invoice para suportar as NF-e e NFS-e apenas. Naquela época não era razoável você cogitar fazer o SPED no Odoo, o próprio core do Odoo não tinha maturidade para isso então era válido a abordagem empírica de ir suportando mais casos de NFe dentro do invoice Odoo apenas.
28
-
29
- Porém, na v12, amadurecemos o framework XML/SOAP de forma que se torna razoável suportar vários documentos fiscais (NF-e, NFS-e, MDF-e, CT-e, EFD-Reinf, e-Social, GNRE, BP-e...) com a qualidade OCA dentro do Odoo. Também, apesar de complexo, o core do Odoo finalmente tem suporte suficiente para as operações de uma empresa que faria o SPED.
30
-
31
- Nisso se torna interessante ter o conceito de documento fiscal ``l10n_br_fiscal.document`` independente do invoice Odoo para suportar todos os documentos fiscais mesmo, de forma modular. Um outro motivo para ter o conceito de documento fiscal fora do módulo account é que quando você analisa o código deste módulo ``l10n_br_fiscal``, quase nada dele poderia ser feito pelo módulo account do Odoo. Então ter esse módulo l10n_br_fiscal que não depende do módulo account também é uma forma de modularizar a localização para facilitar a manutenção dela, especialmente quando se trata de migrar e que o módulo pode ter mudado bastante como foi o caso entre a v8.0 e a v9.0 ou a v12.0 e v13.0 por exemplo. Facilita também a governança do projeto possibilitando que pessoas sejam responsáveis por diferentes partes. O módulo l10n_br_fiscal foi principalmente extraído do módulo l10n_br_l10n_br_account_product das v7.0 as v.10.0.
32
-
33
- Esse módulo ``l10n_br_fiscal`` é agnóstico de qualquer tecnologia XML ou SOAP. Ele contém apenas o que há de comum entre os documentos fiscais mas esses últimos são implementados em outros módulos. Para um determinado documento fiscal como a Nf-e, você tem então por exemplo:
34
-
35
- * ``nfelib``: um pacote de data bindings puro Python (que não depende do Odoo). Em geral usamos um gerador de código para gerar esses bindings a partir dos esquemas XSD da fazenda.
36
- * ``l10n_br_nfe_spec``: um modulo de mixins Odoo geridos também a partir dos XSD. Esses mixins são apenas as estruturas de dados das especificações antes de ser injectados em objetos Odoo existantes (como res.partner ou l10n_br_fiscal.document) ou até tornados concretos caso não exite objetos na Odoo ou na OCA para eles já.
37
- * ``l10n_br_nfe``: um módulo Odoo que trata de injectar esses mappings fiscais nos objetos Odoo e que implementa a lógica como os wizards para a transmissão.
38
-
39
- A transmissão é realizada usando uma lib de transmissão como ``erpbrasil.doc`` (baseada em Python Zeep). Importante: no caso da ``NFS-e``, a ausência de padrão nacional hoje e a simplicidade do modelo (comparado com a NFe) faz que foi decidido de não usar um módulo de mixins fiscais Odoo geridos, o mapping é com a lib de binding é feito manualmente, família de NFS-e por família.
40
-
41
- Alem disso a maioria do codigo do ``l10n_br_fiscal.document`` e das linhas dele ``l10n_br_fiscal.document.line`` é na verdade feito dentro de mixins ``10n_br_fiscal.document.mixin`` e ``10n_br_fiscal.document.line.mixin`` respectivamente. Esses mixins podem assim ser injectados em outros objetos Odoo que precedem os documentos fiscais e podem armazenar então o mesmo tipo de informação: ``sale.order``, ``purchase.order``, ``stock.picking``... Isso é bem visível nos módulos que estendem esse módulo:
42
-
43
- .. code-block:: text
44
-
45
- |-- l10n_br_fiscal
46
- |-- l10n_br_sale
47
- |-- l10n_br_purchase
48
- |-- l10n_br_account
49
- |-- ...
50
-
51
-
52
- Porem o caso do invoice Odoo no modulo ``l10n_br_account`` é diferente ainda. Pois já se tem a tabela independente do documento fiscal cuja grande maioria das dezenas e até centenas de campos fiscais (no caso de muitos tipos de documentos fiscais) não são redundante com os do invoice Odoo. Se a gente injetasse esses mixins dentro do invoice, aí sim essas centenas de campos seriam duplicados entre o invoice e o documento fiscal. Por isso, o sistema que foi adotado no modulo ``l10n_br_account`` é que um invoice Odoo passa a ter um ``_inherits = "l10n_br_fiscal.document"`` de forma que se pilota o documento fiscal através do invoice, oferecendo o mesmo tipo de integração como antes. O mesmo tipo de mecanismo acontece com a linha do documento fiscal.
53
-
54
- Sendo assim, já pelos _inherits, o invoice Odoo e as linhas dele já vão puxar todos campos fiscais como se eles fossem das suas respectivas tabelas sem duplicar eles no banco. Se alem disso a gente injetasse os mixins ``10n_br_fiscal.document.mixin`` e ``10n_br_fiscal.document.line.mixin`` no invoice e invoice.line, esses campos fiscais apareceriam também nas tabelas ``account_move`` e ``account_move_line`` de forma redundantes com os campos puxados pelos _inherits. Para não ter esse problema, os métodos fiscais comuns (sem os campos) foram ainda extraidos nos mixins: ``10n_br_fiscal.document.mixin.methods`` e ``10n_br_fiscal.document.line.mixin.methods`` que são injectados nos objetos ``account_move`` e ``account_move_line`` respectivamente dentro do modulo ``l10n_br_account``.
55
-
56
-
57
- Impostos brasileiros
58
- ~~~~~~~~~~~~~~~~~~~~
59
-
60
- O módulo l10n_br_fiscal lida com os principais impostos brasileiros como:
61
-
62
- * ICMS do Simples Nacional
63
- * ICMS do Regime normal
64
- * IPI
65
- * PIS
66
- * COFINS
67
- * ISSQN
68
- * IRPJ
69
- * II
70
- * CSLL
71
- * INSS
72
-
73
- O módulo l10n_br_fiscal também lida com:
74
-
75
- * ST
76
- * retenções
77
-
78
-
79
- .. image:: ../static/img/fiscal_line.png
80
-
81
- .. image:: ../static/img/fiscal_total.png
82
-
83
- É notório que o cálculo dos impostos no Brasil é muito especial e muito trabalhoso. Geralmente é o motivo pelo qual os ERPs internacionais não tem grande fatia de mercado brasileiro.
84
-
85
- Até a versão 10.0, tentamos usar e estender o objeto Odoo ``account.tax``. A Akretion até criou o projeto ``OCA/account-fiscal-rule`` para determinar as alíquotas de cada imposto de accordo com os parâmetros da operação fiscal. Porém, a gente acabava usando quase nada do ``account.fiscal.position`` nativo na parte fiscal e pelo contrário, isso nos obrigava a ter um registro ``account.tax`` para cada aliquota e nos obrigava a manter centenas de taxas e dezenas de milhares de regras para selecionar a "posição fiscal" Odoo que aplicaria as taxas corretas. E você ainda tinha que gerir essas dezenas de milhares de regras para uma determinada empresa do regime normal. Conclusão: era inviável nos projetos menores de tentar se encaixa na lógica do Odoo para calcular os impostos brasileiros.
86
-
87
- Nisso criamos neste módulo os modelos de taxas que representam exatamente o funcionamentos dos impostos brasileiros. Além dos cálculos, esses modelos também nos servem a carregar as tabelas dos impostos. E mais adiante, no módulo ``l10n_br_account``, ligamos os objetos nativos ``account.tax`` as alíquotas dos impostos brasileiros.
88
-
89
- Claro esses modelos dos impostos atendem as empresas do regime normal, mas é bom lembrar que até empresas do regime simplificado precisam desses modelos para realizar as operações com ST (Substituição Tributária)...
90
-
91
-
92
- Operações fiscais
93
- ~~~~~~~~~~~~~~~~~
94
-
95
- .. image:: ../static/img/fiscal_operation.png
96
-
97
- No Odoo nativo, o conceito mais parecido com a operação fiscal e o ``account.fiscal.position``. E ate a versão 10.0, era o que a gente usava. Porém, a posição fiscal do Odoo não resolve muito os nossos problemas pois:
98
-
99
- * no Brasil se tem uma operação fiscal por linha de documento fiscal
100
- * a posição fiscal do Odoo desconhece a lógica da parametrização fiscal brasileira
101
- * já que puxamos o cadastro dos impostos no módulo l10n_br_fiscal fora do módulo account (sem depender dele), não temos ainda o objeto ``account.fiscal.position`` neste módulo.
102
-
103
- Com tudo, optamos por criar um objeto ``l10n_br_fiscal.operation`` que faz exactamente o que precisamos para o Brasil. Mais adiante, no módulo ``l10n_br_account`` é realizado a integração entre a posição fiscal do Odoo e essa operação fiscal.
File without changes
@@ -1,4 +0,0 @@
1
- Para instalar o módulo l10n_br_fiscal, você precisa de instalar primeiro os pacotes Python
2
-
3
- * erpbrasil.base
4
- * erpbrasil.assinatura
File without changes