sefaz 0.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +115 -0
  3. data/Gemfile.lock +31 -17
  4. data/README.md +449 -17
  5. data/Rakefile +1 -0
  6. data/docs/CFe-SAT/Especificacao_SAT_v_ER_2_30_03.pdf +0 -0
  7. data/docs/CFe-SAT/Manual_Orientacao_SAT_v_MO_2_19_04.pdf +0 -0
  8. data/docs/CFe-SAT/Manual_do_Emulador_SAT-CF-e_Offline_2015_09_10.pdf +0 -0
  9. data/docs/CFe-SAT/_CANCEL_dataset.md +14 -0
  10. data/docs/CFe-SAT/_SALE_dataset.md +171 -0
  11. data/docs/CFe-SAT/emulador_off_line_v2_9_4.zip +0 -0
  12. data/docs/NFe-NFCe/ANEXO I - Leiaute e Regra de Valida/303/247/303/243o - NF-e e NFC-e.pdf +0 -0
  13. data/docs/NFe-NFCe/ANEXO II -Manual Especifica/303/247/303/265esT/303/251cnicas - Danfe-C/303/263digo-Barras.pdf +0 -0
  14. data/docs/NFe-NFCe/Anexo III - Manual de Conting/303/252ncia - NF-e.pdf +0 -0
  15. data/docs/NFe-NFCe/Anexo IV - Manual de Conting/303/252ncia - NFC-e.pdf +0 -0
  16. data/docs/NFe-NFCe/Manual de Orienta/303/247/303/243o ao Contribuinte - MOC - vers/303/243o 7.0 - NF-e e NFC-e.pdf +0 -0
  17. data/docs/NFe-NFCe/_dataset.md +819 -0
  18. data/lib/sefaz/base.rb +11 -0
  19. data/lib/sefaz/configuration.rb +58 -0
  20. data/lib/sefaz/exception.rb +14 -0
  21. data/lib/sefaz/refinement.rb +91 -0
  22. data/lib/sefaz/utils/connection.rb +35 -0
  23. data/lib/sefaz/utils/prawn_helper.rb +47 -0
  24. data/lib/sefaz/utils/signer.rb +122 -0
  25. data/lib/sefaz/version.rb +1 -1
  26. data/lib/sefaz/webservice/base.rb +13 -0
  27. data/lib/sefaz/webservice/nfe/auditor.rb +35 -0
  28. data/lib/sefaz/webservice/nfe/client.rb +426 -0
  29. data/lib/sefaz/webservice/nfe/connection.rb +17 -0
  30. data/lib/sefaz/webservice/nfe/dataset.rb +451 -0
  31. data/lib/sefaz/webservice/nfe/validator.rb +63 -0
  32. data/lib/sefaz/webservice/nfe/wsdl.rb +117 -0
  33. data/lib/sefaz/webservice/sat/client.rb +44 -0
  34. data/lib/sefaz/webservice/sat/dataset/cancel.rb +34 -0
  35. data/lib/sefaz/webservice/sat/dataset/sale.rb +176 -0
  36. data/lib/sefaz/webservice/sat/templates/base.rb +54 -0
  37. data/lib/sefaz/webservice/sat/templates/cupom_fiscal_55mm.rb +307 -0
  38. data/lib/sefaz/webservice/sat/templates/cupom_fiscal_80mm.rb +307 -0
  39. data/lib/sefaz.rb +45 -3
  40. data/sefaz.gemspec +5 -3
  41. metadata +80 -6
@@ -0,0 +1,819 @@
1
+ # Lista dos campos do Dataset
2
+
3
+ ```ruby
4
+ # Instanciando objeto Dataset
5
+ @dataset = SEFAZ::Webservice::NFE::Dataset.new(@chaveNF)
6
+
7
+ # Identificação da NF
8
+ @dataset.ide.cUF = ""
9
+ @dataset.ide.cNF = ""
10
+ @dataset.ide.natOp = ""
11
+ @dataset.ide.mod = ""
12
+ @dataset.ide.serie = ""
13
+ @dataset.ide.nNF = ""
14
+ @dataset.ide.dhEmi = ""
15
+ @dataset.ide.dhSaiEnt = ""
16
+ @dataset.ide.tpNF = ""
17
+ @dataset.ide.idDest = ""
18
+ @dataset.ide.cMunFG = ""
19
+ @dataset.ide.tpImp = ""
20
+ @dataset.ide.tpEmis = ""
21
+ @dataset.ide.cDV = ""
22
+ @dataset.ide.tpAmb = ""
23
+ @dataset.ide.finNFe = ""
24
+ @dataset.ide.indFinal = ""
25
+ @dataset.ide.indPres = ""
26
+ @dataset.ide.indIntermed = ""
27
+ @dataset.ide.procEmi = ""
28
+ @dataset.ide.verProc = ""
29
+ @dataset.ide.dhCont = ""
30
+ @dataset.ide.xJust = ""
31
+
32
+ # NF referenciadas
33
+ @dataset.add("NFREF") do |nfref|
34
+ nfref.refNFe = ""
35
+ nfref.cUF = ""
36
+ nfref.AAMM = ""
37
+ nfref.CNPJ = ""
38
+ nfref.CPF = ""
39
+ nfref.IE = ""
40
+ nfref.mod = ""
41
+ nfref.serie = ""
42
+ nfref.nNF = ""
43
+ nfref.refCTe = ""
44
+ nfref.nECF = ""
45
+ nfref.nCOO = ""
46
+ end
47
+
48
+ # Dados do emitente
49
+ @dataset.emit.CNPJ = ""
50
+ @dataset.emit.CPF = ""
51
+ @dataset.emit.xNome = ""
52
+ @dataset.emit.xFant = ""
53
+ @dataset.emit.enderEmit.xLgr = ""
54
+ @dataset.emit.enderEmit.nro = ""
55
+ @dataset.emit.enderEmit.xCpl = ""
56
+ @dataset.emit.enderEmit.xBairro = ""
57
+ @dataset.emit.enderEmit.cMun = ""
58
+ @dataset.emit.enderEmit.xMun = ""
59
+ @dataset.emit.enderEmit.UF = ""
60
+ @dataset.emit.enderEmit.CEP = ""
61
+ @dataset.emit.enderEmit.cPais = ""
62
+ @dataset.emit.enderEmit.xPais = ""
63
+ @dataset.emit.enderEmit.fone = ""
64
+ @dataset.emit.IE = ""
65
+ @dataset.emit.IEST = ""
66
+ @dataset.emit.IM = ""
67
+ @dataset.emit.CNAE = ""
68
+ @dataset.emit.CRT = ""
69
+
70
+ # NF avulsa
71
+ @dataset.avulsa.CNPJ = ""
72
+ @dataset.avulsa.xOrgao = ""
73
+ @dataset.avulsa.matr = ""
74
+ @dataset.avulsa.xAgente = ""
75
+ @dataset.avulsa.fone = ""
76
+ @dataset.avulsa.UF = ""
77
+ @dataset.avulsa.nDAR = ""
78
+ @dataset.avulsa.dEmi = ""
79
+ @dataset.avulsa.vDAR = ""
80
+ @dataset.avulsa.repEmi = ""
81
+ @dataset.avulsa.dPag = ""
82
+
83
+ # Dados do destinatário
84
+ @dataset.dest.CNPJ = ""
85
+ @dataset.dest.CPF = ""
86
+ @dataset.dest.idEstrangeiro = ""
87
+ @dataset.dest.xNome = ""
88
+ @dataset.dest.enderDest.xLgr = ""
89
+ @dataset.dest.enderDest.nro = ""
90
+ @dataset.dest.enderDest.xCpl = ""
91
+ @dataset.dest.enderDest.xBairro = ""
92
+ @dataset.dest.enderDest.cMun = ""
93
+ @dataset.dest.enderDest.xMun = ""
94
+ @dataset.dest.enderDest.UF = ""
95
+ @dataset.dest.enderDest.CEP = ""
96
+ @dataset.dest.enderDest.cPais = ""
97
+ @dataset.dest.enderDest.xPais = ""
98
+ @dataset.dest.enderDest.fone = ""
99
+ @dataset.dest.indIEDest = ""
100
+ @dataset.dest.IE = ""
101
+ @dataset.dest.ISUF = ""
102
+ @dataset.dest.IM = ""
103
+ @dataset.dest.email = ""
104
+
105
+ # Local de retirada
106
+ @dataset.retirada.CNPJ = ""
107
+ @dataset.retirada.CPF = ""
108
+ @dataset.retirada.xNome = ""
109
+ @dataset.retirada.xLgr = ""
110
+ @dataset.retirada.nro = ""
111
+ @dataset.retirada.xCpl = ""
112
+ @dataset.retirada.xBairro = ""
113
+ @dataset.retirada.cMun = ""
114
+ @dataset.retirada.xMun = ""
115
+ @dataset.retirada.UF = ""
116
+ @dataset.retirada.CEP = ""
117
+ @dataset.retirada.cPais = ""
118
+ @dataset.retirada.xPais = ""
119
+ @dataset.retirada.fone = ""
120
+ @dataset.retirada.email = ""
121
+ @dataset.retirada.IE = ""
122
+
123
+ # Local de entrega
124
+ @dataset.entrega.CNPJ = ""
125
+ @dataset.entrega.CPF = ""
126
+ @dataset.entrega.xNome = ""
127
+ @dataset.entrega.xLgr = ""
128
+ @dataset.entrega.nro = ""
129
+ @dataset.entrega.xCpl = ""
130
+ @dataset.entrega.xBairro = ""
131
+ @dataset.entrega.cMun = ""
132
+ @dataset.entrega.xMun = ""
133
+ @dataset.entrega.UF = ""
134
+ @dataset.entrega.CEP = ""
135
+ @dataset.entrega.cPais = ""
136
+ @dataset.entrega.xPais = ""
137
+ @dataset.entrega.fone = ""
138
+ @dataset.entrega.email = ""
139
+ @dataset.entrega.IE = ""
140
+
141
+ # Autorização de acesso
142
+ @dataset.add("AUTXML") do |autxml|
143
+ autxml.CNPJ = ""
144
+ autxml.CPF = ""
145
+ end
146
+
147
+ # Detalhamento do item
148
+ @dataset.add("DET") do |det|
149
+ # Dados do produto
150
+ det.prod.cProd = ""
151
+ det.prod.cEAN = ""
152
+ det.prod.xProd = ""
153
+ det.prod.NCM = ""
154
+ det.prod.NVE = ""
155
+ det.prod.CEST = ""
156
+ det.prod.indEscala = ""
157
+ det.prod.CNPJFab = ""
158
+ det.prod.cBenef = ""
159
+ det.prod.EXTIPI = ""
160
+ det.prod.CFOP = ""
161
+ det.prod.uCom = ""
162
+ det.prod.qCom = ""
163
+ det.prod.vUnCom = ""
164
+ det.prod.vProd = ""
165
+ det.prod.cEANTrib = ""
166
+ det.prod.uTrib = ""
167
+ det.prod.qTrib = ""
168
+ det.prod.vUnTrib = ""
169
+ det.prod.vFrete = ""
170
+ det.prod.vSeg = ""
171
+ det.prod.vDesc = ""
172
+ det.prod.vOutro = ""
173
+ det.prod.indTot = ""
174
+ det.prod.xPed = ""
175
+ det.prod.nItemPed = ""
176
+ det.prod.nFCI = ""
177
+ det.prod.nRECOPI = ""
178
+
179
+ # Importação
180
+ @dataset.add("DI") do |di|
181
+ di.nDI = ""
182
+ di.dDI = ""
183
+ di.xLocDesemb = ""
184
+ di.UFDesemb = ""
185
+ di.dDesemb = ""
186
+ di.tpViaTransp = ""
187
+ di.vAFRMM = ""
188
+ di.tpIntermedio = ""
189
+ di.CNPJ = ""
190
+ di.UFTerceiro = ""
191
+ di.cExportador = ""
192
+
193
+ # Adições
194
+ @dataset.add("ADI") do |adi|
195
+ adi.nAdicao = ""
196
+ adi.nSeqAdic = ""
197
+ adi.cFabricante = ""
198
+ adi.vDescDI = ""
199
+ adi.nDraw = ""
200
+ end
201
+ end
202
+
203
+ # Exportação
204
+ @dataset.add("DETEXPORT") do |detexport|
205
+ detexport.nDraw = ""
206
+ detexport.exportInd.nRE = ""
207
+ detexport.exportInd.chNFe = ""
208
+ detexport.exportInd.qExport = ""
209
+ end
210
+
211
+ # Rastreabilidade
212
+ @dataset.add("RASTRO") do |rastro|
213
+ rastro.nLote = ""
214
+ rastro.qLote = ""
215
+ rastro.dFab = ""
216
+ rastro.dVal = ""
217
+ rastro.cAgreg = ""
218
+ end
219
+
220
+ # Detalhamento de veículos
221
+ det.prod.veicProd.tpOp = ""
222
+ det.prod.veicProd.chassi = ""
223
+ det.prod.veicProd.cCor = ""
224
+ det.prod.veicProd.xCor = ""
225
+ det.prod.veicProd.pot = ""
226
+ det.prod.veicProd.cilin = ""
227
+ det.prod.veicProd.pesoL = ""
228
+ det.prod.veicProd.pesoB = ""
229
+ det.prod.veicProd.nSerie = ""
230
+ det.prod.veicProd.tpComb = ""
231
+ det.prod.veicProd.nMotor = ""
232
+ det.prod.veicProd.CMT = ""
233
+ det.prod.veicProd.dist = ""
234
+ det.prod.veicProd.anoMod = ""
235
+ det.prod.veicProd.anoFab = ""
236
+ det.prod.veicProd.tpPint = ""
237
+ det.prod.veicProd.tpVeic = ""
238
+ det.prod.veicProd.espVeic = ""
239
+ det.prod.veicProd.VIN = ""
240
+ det.prod.veicProd.condVeic = ""
241
+ det.prod.veicProd.cMod = ""
242
+ det.prod.veicProd.cCorDENATRAN = ""
243
+ det.prod.veicProd.lota = ""
244
+ det.prod.veicProd.tpRest = ""
245
+
246
+ # Detalhamento de medicamentos
247
+ det.prod.med.cProdANVISA = ""
248
+ det.prod.med.xMotivoIsencao = ""
249
+ det.prod.med.vPMC = ""
250
+
251
+ # Detalhamento de armamento
252
+ @dataset.add("ARMA") do |arma|
253
+ arma.tpArma = ""
254
+ arma.nSerie = ""
255
+ arma.nCano = ""
256
+ arma.descr = ""
257
+ end
258
+
259
+ # Informações específicas para combustíveis
260
+ det.prod.comb.cProdANP = ""
261
+ det.prod.comb.descANP = ""
262
+ det.prod.comb.pGLP = ""
263
+ det.prod.comb.pGNn = ""
264
+ det.prod.comb.pGNi = ""
265
+ det.prod.comb.vPart = ""
266
+ det.prod.comb.CODIF = ""
267
+ det.prod.comb.qTemp = ""
268
+ det.prod.comb.UFCons = ""
269
+ det.prod.comb.CIDE.qBCProd = ""
270
+ det.prod.comb.CIDE.vAliqProd = ""
271
+ det.prod.comb.CIDE.vCIDE = ""
272
+ det.prod.comb.encerrante.nBico = ""
273
+ det.prod.comb.encerrante.nBomba = ""
274
+ det.prod.comb.encerrante.nTanque = ""
275
+ det.prod.comb.encerrante.vEncIni = ""
276
+ det.prod.comb.encerrante.vEncFin = ""
277
+
278
+ # Dados dos impostos
279
+ det.imposto.vTotTrib = ""
280
+
281
+ # Dados do ICMS
282
+ # ICMS 00
283
+ det.imposto.ICMS.ICMS00.orig = ""
284
+ det.imposto.ICMS.ICMS00.CST = ""
285
+ det.imposto.ICMS.ICMS00.modBC = ""
286
+ det.imposto.ICMS.ICMS00.vBC = ""
287
+ det.imposto.ICMS.ICMS00.pICMS = ""
288
+ det.imposto.ICMS.ICMS00.vICMS = ""
289
+ det.imposto.ICMS.ICMS00.pFCP = ""
290
+ det.imposto.ICMS.ICMS00.vFCP = ""
291
+
292
+ # ICMS 10
293
+ det.imposto.ICMS.ICMS10.orig = ""
294
+ det.imposto.ICMS.ICMS10.CST = ""
295
+ det.imposto.ICMS.ICMS10.modBC = ""
296
+ det.imposto.ICMS.ICMS10.vBC = ""
297
+ det.imposto.ICMS.ICMS10.pICMS = ""
298
+ det.imposto.ICMS.ICMS10.vICMS = ""
299
+ det.imposto.ICMS.ICMS10.vBCFCP = ""
300
+ det.imposto.ICMS.ICMS10.pFCP = ""
301
+ det.imposto.ICMS.ICMS10.vFCP = ""
302
+ det.imposto.ICMS.ICMS10.modBCST = ""
303
+ det.imposto.ICMS.ICMS10.pMVAST = ""
304
+ det.imposto.ICMS.ICMS10.pRedBCST = ""
305
+ det.imposto.ICMS.ICMS10.vBCST = ""
306
+ det.imposto.ICMS.ICMS10.pICMSST = ""
307
+ det.imposto.ICMS.ICMS10.vICMSST = ""
308
+ det.imposto.ICMS.ICMS10.vBCFCPST = ""
309
+ det.imposto.ICMS.ICMS10.pFCPST = ""
310
+ det.imposto.ICMS.ICMS10.vFCPST = ""
311
+
312
+ # ICMS 20
313
+ det.imposto.ICMS.ICMS20.orig = ""
314
+ det.imposto.ICMS.ICMS20.CST = ""
315
+ det.imposto.ICMS.ICMS20.modBC = ""
316
+ det.imposto.ICMS.ICMS20.pRedBC = ""
317
+ det.imposto.ICMS.ICMS20.vBC = ""
318
+ det.imposto.ICMS.ICMS20.pICMS = ""
319
+ det.imposto.ICMS.ICMS20.vICMS = ""
320
+ det.imposto.ICMS.ICMS20.vBCFCP = ""
321
+ det.imposto.ICMS.ICMS20.pFCP = ""
322
+ det.imposto.ICMS.ICMS20.vFCP = ""
323
+ det.imposto.ICMS.ICMS20.vICMSDeson = ""
324
+ det.imposto.ICMS.ICMS20.motDesICMS = ""
325
+
326
+ # ICMS 30
327
+ det.imposto.ICMS.ICMS30.orig = ""
328
+ det.imposto.ICMS.ICMS30.CST = ""
329
+ det.imposto.ICMS.ICMS30.modBCST = ""
330
+ det.imposto.ICMS.ICMS30.pMVAST = ""
331
+ det.imposto.ICMS.ICMS30.pRedBCST = ""
332
+ det.imposto.ICMS.ICMS30.vBCST = ""
333
+ det.imposto.ICMS.ICMS30.pICMSST = ""
334
+ det.imposto.ICMS.ICMS30.vICMSST = ""
335
+ det.imposto.ICMS.ICMS30.vBCFCPST = ""
336
+ det.imposto.ICMS.ICMS30.pFCPST = ""
337
+ det.imposto.ICMS.ICMS30.vFCPST = ""
338
+ det.imposto.ICMS.ICMS30.vICMSDeson = ""
339
+ det.imposto.ICMS.ICMS30.motDesICMS = ""
340
+
341
+ # ICMS 40
342
+ det.imposto.ICMS.ICMS40.orig = ""
343
+ det.imposto.ICMS.ICMS40.CST = ""
344
+ det.imposto.ICMS.ICMS40.vICMSDeson = ""
345
+ det.imposto.ICMS.ICMS40.motDesICMS = ""
346
+
347
+ # ICMS 51
348
+ det.imposto.ICMS.ICMS51.orig = ""
349
+ det.imposto.ICMS.ICMS51.CST = ""
350
+ det.imposto.ICMS.ICMS51.modBC = ""
351
+ det.imposto.ICMS.ICMS51.pRedBC = ""
352
+ det.imposto.ICMS.ICMS51.vBC = ""
353
+ det.imposto.ICMS.ICMS51.pICMS = ""
354
+ det.imposto.ICMS.ICMS51.vICMSOp = ""
355
+ det.imposto.ICMS.ICMS51.pDif = ""
356
+ det.imposto.ICMS.ICMS51.vICMSDif = ""
357
+ det.imposto.ICMS.ICMS51.vICMS = ""
358
+ det.imposto.ICMS.ICMS51.vBCFCP = ""
359
+ det.imposto.ICMS.ICMS51.pFCP = ""
360
+ det.imposto.ICMS.ICMS51.vFCP = ""
361
+
362
+ # ICMS 60
363
+ det.imposto.ICMS.ICMS60.orig = ""
364
+ det.imposto.ICMS.ICMS60.CST = ""
365
+ det.imposto.ICMS.ICMS60.vBCSTRet = ""
366
+ det.imposto.ICMS.ICMS60.pST = ""
367
+ det.imposto.ICMS.ICMS60.vICMSSubstituto = ""
368
+ det.imposto.ICMS.ICMS60.vICMSSTRet = ""
369
+ det.imposto.ICMS.ICMS60.vBCFCPSTRet = ""
370
+ det.imposto.ICMS.ICMS60.pFCPSTRet = ""
371
+ det.imposto.ICMS.ICMS60.vFCPSTRet = ""
372
+ det.imposto.ICMS.ICMS60.pRedBCEfet = ""
373
+ det.imposto.ICMS.ICMS60.vBCEfet = ""
374
+ det.imposto.ICMS.ICMS60.pICMSEfet = ""
375
+ det.imposto.ICMS.ICMS60.vICMSEfet = ""
376
+
377
+ # ICMS 70
378
+ det.imposto.ICMS.ICMS70.orig = ""
379
+ det.imposto.ICMS.ICMS70.CST = ""
380
+ det.imposto.ICMS.ICMS70.modBC = ""
381
+ det.imposto.ICMS.ICMS70.pRedBC = ""
382
+ det.imposto.ICMS.ICMS70.vBC = ""
383
+ det.imposto.ICMS.ICMS70.pICMS = ""
384
+ det.imposto.ICMS.ICMS70.vICMS = ""
385
+ det.imposto.ICMS.ICMS70.vBCFCP = ""
386
+ det.imposto.ICMS.ICMS70.pFCP = ""
387
+ det.imposto.ICMS.ICMS70.vFCP = ""
388
+ det.imposto.ICMS.ICMS70.modBCST = ""
389
+ det.imposto.ICMS.ICMS70.pMVAST = ""
390
+ det.imposto.ICMS.ICMS70.pRedBCST = ""
391
+ det.imposto.ICMS.ICMS70.vBCST = ""
392
+ det.imposto.ICMS.ICMS70.pICMSST = ""
393
+ det.imposto.ICMS.ICMS70.vICMSST = ""
394
+ det.imposto.ICMS.ICMS70.vBCFCPST = ""
395
+ det.imposto.ICMS.ICMS70.pFCPST = ""
396
+ det.imposto.ICMS.ICMS70.vFCPST = ""
397
+ det.imposto.ICMS.ICMS70.vICMSDeson = ""
398
+ det.imposto.ICMS.ICMS70.motDesICMS = ""
399
+
400
+ # ICMS 90
401
+ det.imposto.ICMS.ICMS90.orig = ""
402
+ det.imposto.ICMS.ICMS90.CST = ""
403
+ det.imposto.ICMS.ICMS90.modBC = ""
404
+ det.imposto.ICMS.ICMS90.vBC = ""
405
+ det.imposto.ICMS.ICMS90.pRedBC = ""
406
+ det.imposto.ICMS.ICMS90.pICMS = ""
407
+ det.imposto.ICMS.ICMS90.vICMS = ""
408
+ det.imposto.ICMS.ICMS90.vBCFCP = ""
409
+ det.imposto.ICMS.ICMS90.pFCP = ""
410
+ det.imposto.ICMS.ICMS90.vFCP = ""
411
+ det.imposto.ICMS.ICMS90.modBCST = ""
412
+ det.imposto.ICMS.ICMS90.pMVAST = ""
413
+ det.imposto.ICMS.ICMS90.pRedBCST = ""
414
+ det.imposto.ICMS.ICMS90.vBCST = ""
415
+ det.imposto.ICMS.ICMS90.pICMSST = ""
416
+ det.imposto.ICMS.ICMS90.vICMSST = ""
417
+ det.imposto.ICMS.ICMS90.vBCFCPST = ""
418
+ det.imposto.ICMS.ICMS90.pFCPST = ""
419
+ det.imposto.ICMS.ICMS90.vFCPST = ""
420
+ det.imposto.ICMS.ICMS90.vICMSDeson = ""
421
+ det.imposto.ICMS.ICMS90.motDesICMS = ""
422
+
423
+ # Grupo de Partilha do ICMS
424
+ det.imposto.ICMS.ICMSPart.orig = ""
425
+ det.imposto.ICMS.ICMSPart.CST = ""
426
+ det.imposto.ICMS.ICMSPart.modBC = ""
427
+ det.imposto.ICMS.ICMSPart.vBC = ""
428
+ det.imposto.ICMS.ICMSPart.pRedBC = ""
429
+ det.imposto.ICMS.ICMSPart.pICMS = ""
430
+ det.imposto.ICMS.ICMSPart.vICMS = ""
431
+ det.imposto.ICMS.ICMSPart.modBCST = ""
432
+ det.imposto.ICMS.ICMSPart.pMVAST = ""
433
+ det.imposto.ICMS.ICMSPart.pRedBCST = ""
434
+ det.imposto.ICMS.ICMSPart.vBCST = ""
435
+ det.imposto.ICMS.ICMSPart.pICMSST = ""
436
+ det.imposto.ICMS.ICMSPart.vICMSST = ""
437
+ det.imposto.ICMS.ICMSPart.pBCOp = ""
438
+ det.imposto.ICMS.ICMSPart.UFST = ""
439
+
440
+ # Grupo de Repasse de ICMS ST
441
+ det.imposto.ICMS.ICMSST.orig = ""
442
+ det.imposto.ICMS.ICMSST.CST = ""
443
+ det.imposto.ICMS.ICMSST.vBCSTRet = ""
444
+ det.imposto.ICMS.ICMSST.pST = ""
445
+ det.imposto.ICMS.ICMSST.vICMSSubstituto = ""
446
+ det.imposto.ICMS.ICMSST.vICMSSTRet = ""
447
+ det.imposto.ICMS.ICMSST.vBCFCPSTRet = ""
448
+ det.imposto.ICMS.ICMSST.pFCPSTRet = ""
449
+ det.imposto.ICMS.ICMSST.vFCPSTRet = ""
450
+ det.imposto.ICMS.ICMSST.vBCSTDest = ""
451
+ det.imposto.ICMS.ICMSST.vICMSSTDest = ""
452
+ det.imposto.ICMS.ICMSST.pRedBCEfet = ""
453
+ det.imposto.ICMS.ICMSST.vBCEfet = ""
454
+ det.imposto.ICMS.ICMSST.pICMSEfet = ""
455
+ det.imposto.ICMS.ICMSST.vICMSEfet = ""
456
+
457
+ # CSOSN 101
458
+ det.imposto.ICMS.ICMSSN101.orig = ""
459
+ det.imposto.ICMS.ICMSSN101.CSOSN = ""
460
+ det.imposto.ICMS.ICMSSN101.pCredSN = ""
461
+ det.imposto.ICMS.ICMSSN101.vCredICMSSN = ""
462
+
463
+ # CSOSN 102
464
+ det.imposto.ICMS.ICMSSN102.orig = ""
465
+ det.imposto.ICMS.ICMSSN102.CSOSN = ""
466
+
467
+ # CSOSN 201
468
+ det.imposto.ICMS.ICMSSN201.orig = ""
469
+ det.imposto.ICMS.ICMSSN201.CSOSN = ""
470
+ det.imposto.ICMS.ICMSSN201.modBCST = ""
471
+ det.imposto.ICMS.ICMSSN201.pMVAST = ""
472
+ det.imposto.ICMS.ICMSSN201.pRedBCST = ""
473
+ det.imposto.ICMS.ICMSSN201.vBCST = ""
474
+ det.imposto.ICMS.ICMSSN201.pICMSST = ""
475
+ det.imposto.ICMS.ICMSSN201.vICMSST = ""
476
+ det.imposto.ICMS.ICMSSN201.vBCFCPST = ""
477
+ det.imposto.ICMS.ICMSSN201.pFCPST = ""
478
+ det.imposto.ICMS.ICMSSN201.vFCPST = ""
479
+ det.imposto.ICMS.ICMSSN201.pCredSN = ""
480
+ det.imposto.ICMS.ICMSSN201.vCredICMSSN = ""
481
+
482
+ # CSOSN 202
483
+ det.imposto.ICMS.ICMSSN202.orig = ""
484
+ det.imposto.ICMS.ICMSSN202.CSOSN = ""
485
+ det.imposto.ICMS.ICMSSN202.modBCST = ""
486
+ det.imposto.ICMS.ICMSSN202.pMVAST = ""
487
+ det.imposto.ICMS.ICMSSN202.pRedBCST = ""
488
+ det.imposto.ICMS.ICMSSN202.vBCST = ""
489
+ det.imposto.ICMS.ICMSSN202.pICMSST = ""
490
+ det.imposto.ICMS.ICMSSN202.vICMSST = ""
491
+ det.imposto.ICMS.ICMSSN202.vBCFCPST = ""
492
+ det.imposto.ICMS.ICMSSN202.pFCPST = ""
493
+ det.imposto.ICMS.ICMSSN202.vFCPST = ""
494
+
495
+ # CSOSN 500
496
+ det.imposto.ICMS.ICMSSN500.orig = ""
497
+ det.imposto.ICMS.ICMSSN500.CSOSN = ""
498
+ det.imposto.ICMS.ICMSSN500.vBCSTRet = ""
499
+ det.imposto.ICMS.ICMSSN500.pST = ""
500
+ det.imposto.ICMS.ICMSSN500.vICMSSubstituto = ""
501
+ det.imposto.ICMS.ICMSSN500.vICMSSTRet = ""
502
+ det.imposto.ICMS.ICMSSN500.vBCFCPSTRet = ""
503
+ det.imposto.ICMS.ICMSSN500.pFCPSTRet = ""
504
+ det.imposto.ICMS.ICMSSN500.vFCPSTRet = ""
505
+ det.imposto.ICMS.ICMSSN500.pRedBCEfet = ""
506
+ det.imposto.ICMS.ICMSSN500.vBCEfet = ""
507
+ det.imposto.ICMS.ICMSSN500.pICMSEfet = ""
508
+ det.imposto.ICMS.ICMSSN500.vICMSEfet = ""
509
+
510
+ # CSOSN 900
511
+ det.imposto.ICMS.ICMSSN900.orig = ""
512
+ det.imposto.ICMS.ICMSSN900.CSOSN = ""
513
+ det.imposto.ICMS.ICMSSN900.modBC = ""
514
+ det.imposto.ICMS.ICMSSN900.vBC = ""
515
+ det.imposto.ICMS.ICMSSN900.pRedBC = ""
516
+ det.imposto.ICMS.ICMSSN900.pICMS = ""
517
+ det.imposto.ICMS.ICMSSN900.vICMS = ""
518
+ det.imposto.ICMS.ICMSSN900.modBCST = ""
519
+ det.imposto.ICMS.ICMSSN900.pMVAST = ""
520
+ det.imposto.ICMS.ICMSSN900.pRedBCST = ""
521
+ det.imposto.ICMS.ICMSSN900.vBCST = ""
522
+ det.imposto.ICMS.ICMSSN900.pICMSST = ""
523
+ det.imposto.ICMS.ICMSSN900.vICMSST = ""
524
+ det.imposto.ICMS.ICMSSN900.vBCFCPST = ""
525
+ det.imposto.ICMS.ICMSSN900.pFCPST = ""
526
+ det.imposto.ICMS.ICMSSN900.vFCPST = ""
527
+ det.imposto.ICMS.ICMSSN900.pCredSN = ""
528
+ det.imposto.ICMS.ICMSSN900.vCredICMSSN = ""
529
+
530
+ # Informação do ICMS interestadual
531
+ det.imposto.ICMSUFDest.vBCUFDest = ""
532
+ det.imposto.ICMSUFDest.vBCFCPUFDest = ""
533
+ det.imposto.ICMSUFDest.pFCPUFDest = ""
534
+ det.imposto.ICMSUFDest.pICMSUFDest = ""
535
+ det.imposto.ICMSUFDest.pICMSInter = ""
536
+ det.imposto.ICMSUFDest.pICMSInterPart = ""
537
+ det.imposto.ICMSUFDest.vFCPUFDest = ""
538
+ det.imposto.ICMSUFDest.vICMSUFDest = ""
539
+ det.imposto.ICMSUFDest.vICMSUFRemet = ""
540
+
541
+ # IPI
542
+ det.imposto.IPI.CNPJProd = ""
543
+ det.imposto.IPI.cSelo = ""
544
+ det.imposto.IPI.qSelo = ""
545
+ det.imposto.IPI.cEnq = ""
546
+ det.imposto.IPI.IPITrib.CST = ""
547
+ det.imposto.IPI.IPITrib.vBC = ""
548
+ det.imposto.IPI.IPITrib.qUnid = ""
549
+ det.imposto.IPI.IPITrib.vUnid = ""
550
+ det.imposto.IPI.IPITrib.vIPI = ""
551
+ det.imposto.IPI.IPINT.CST = ""
552
+
553
+ # II
554
+ det.imposto.II.vBC = ""
555
+ det.imposto.II.vDespAdu = ""
556
+ det.imposto.II.vII = ""
557
+ det.imposto.II.vIOF = ""
558
+
559
+ # PIS
560
+ det.imposto.PIS.PISAliq.CST = ""
561
+ det.imposto.PIS.PISAliq.vBC = ""
562
+ det.imposto.PIS.PISAliq.pPIS = ""
563
+ det.imposto.PIS.PISAliq.vPIS = ""
564
+ det.imposto.PIS.PISQtde.CST = ""
565
+ det.imposto.PIS.PISQtde.qBCProd = ""
566
+ det.imposto.PIS.PISQtde.vAliqProd = ""
567
+ det.imposto.PIS.PISQtde.vPIS = ""
568
+ det.imposto.PIS.PISNT.CST = ""
569
+ det.imposto.PIS.PISOutr.CST = ""
570
+ det.imposto.PIS.PISOutr.vBC = ""
571
+ det.imposto.PIS.PISOutr.pPIS = ""
572
+ det.imposto.PIS.PISOutr.qBCProd = ""
573
+ det.imposto.PIS.PISOutr.vAliqProd = ""
574
+ det.imposto.PIS.PISOutr.vPIS = ""
575
+
576
+ # PISST
577
+ det.imposto.PISST.vBC = ""
578
+ det.imposto.PISST.pPIS = ""
579
+ det.imposto.PISST.qBCProd = ""
580
+ det.imposto.PISST.vAliqProd = ""
581
+ det.imposto.PISST.vPIS = ""
582
+
583
+ # COFINS
584
+ det.imposto.COFINS.COFINSAliq.CST = ""
585
+ det.imposto.COFINS.COFINSAliq.vBC = ""
586
+ det.imposto.COFINS.COFINSAliq.pCOFINS = ""
587
+ det.imposto.COFINS.COFINSAliq.vCOFINS = ""
588
+ det.imposto.COFINS.COFINSQtde.CST = ""
589
+ det.imposto.COFINS.COFINSQtde.qBCProd = ""
590
+ det.imposto.COFINS.COFINSQtde.vAliqProd = ""
591
+ det.imposto.COFINS.COFINSQtde.vCOFINS = ""
592
+ det.imposto.COFINS.COFINSNT.CST = ""
593
+ det.imposto.COFINS.COFINSOutr.CST = ""
594
+ det.imposto.COFINS.COFINSOutr.vBC = ""
595
+ det.imposto.COFINS.COFINSOutr.pCOFINS = ""
596
+ det.imposto.COFINS.COFINSOutr.qBCProd = ""
597
+ det.imposto.COFINS.COFINSOutr.vAliqProd = ""
598
+ det.imposto.COFINS.COFINSOutr.vCOFINS = ""
599
+
600
+ # COFINSST
601
+ det.imposto.COFINSST.vBC = ""
602
+ det.imposto.COFINSST.pCOFINS = ""
603
+ det.imposto.COFINSST.qBCProd = ""
604
+ det.imposto.COFINSST.vAliqProd = ""
605
+ det.imposto.COFINSST.vCOFINS = ""
606
+
607
+ # ISSQN
608
+ det.imposto.ISSQN.vBC = ""
609
+ det.imposto.ISSQN.vAliq = ""
610
+ det.imposto.ISSQN.vISSQN = ""
611
+ det.imposto.ISSQN.cMunFG = ""
612
+ det.imposto.ISSQN.cListServ = ""
613
+ det.imposto.ISSQN.vDeducao = ""
614
+ det.imposto.ISSQN.vOutro = ""
615
+ det.imposto.ISSQN.vDescIncond = ""
616
+ det.imposto.ISSQN.vDescCond = ""
617
+ det.imposto.ISSQN.vISSRet = ""
618
+ det.imposto.ISSQN.indISS = ""
619
+ det.imposto.ISSQN.cServico = ""
620
+ det.imposto.ISSQN.cMun = ""
621
+ det.imposto.ISSQN.cPais = ""
622
+ det.imposto.ISSQN.nProcesso = ""
623
+ det.imposto.ISSQN.indIncentivo = ""
624
+
625
+ # Informação do imposto devolvido
626
+ det.impostoDevol.pDevol = ""
627
+ det.impostoDevol.IPI.vIPIDevol = ""
628
+
629
+ # Informações adicionais do produto
630
+ det.infAdProd = ""
631
+ end
632
+
633
+ # Total ICMS
634
+ @dataset.total.ICMSTot.vBC = ""
635
+ @dataset.total.ICMSTot.vICMS = ""
636
+ @dataset.total.ICMSTot.vICMSDeson = ""
637
+ @dataset.total.ICMSTot.vFCPUFDest = ""
638
+ @dataset.total.ICMSTot.vICMSUFDest = ""
639
+ @dataset.total.ICMSTot.vICMSUFRemet = ""
640
+ @dataset.total.ICMSTot.vFCP = ""
641
+ @dataset.total.ICMSTot.vBCST = ""
642
+ @dataset.total.ICMSTot.vST = ""
643
+ @dataset.total.ICMSTot.vFCPST = ""
644
+ @dataset.total.ICMSTot.vFCPSTRet = ""
645
+ @dataset.total.ICMSTot.vProd = ""
646
+ @dataset.total.ICMSTot.vFrete = ""
647
+ @dataset.total.ICMSTot.vSeg = ""
648
+ @dataset.total.ICMSTot.vDesc = ""
649
+ @dataset.total.ICMSTot.vII = ""
650
+ @dataset.total.ICMSTot.vIPI = ""
651
+ @dataset.total.ICMSTot.vIPIDevol = ""
652
+ @dataset.total.ICMSTot.vPIS = ""
653
+ @dataset.total.ICMSTot.vCOFINS = ""
654
+ @dataset.total.ICMSTot.vOutro = ""
655
+ @dataset.total.ICMSTot.vNF = ""
656
+ @dataset.total.ICMSTot.vTotTrib = ""
657
+
658
+ # Total ISSQN
659
+ @dataset.total.ISSQNtot.vServ = ""
660
+ @dataset.total.ISSQNtot.vBC = ""
661
+ @dataset.total.ISSQNtot.vISS = ""
662
+ @dataset.total.ISSQNtot.vPIS = ""
663
+ @dataset.total.ISSQNtot.vCOFINS = ""
664
+ @dataset.total.ISSQNtot.dCompet = ""
665
+ @dataset.total.ISSQNtot.vDeducao = ""
666
+ @dataset.total.ISSQNtot.vOutro = ""
667
+ @dataset.total.ISSQNtot.vDescIncond = ""
668
+ @dataset.total.ISSQNtot.vDescCond = ""
669
+ @dataset.total.ISSQNtot.vISSRet = ""
670
+ @dataset.total.ISSQNtot.cRegTrib = ""
671
+
672
+ # Retenções de tributos
673
+ @dataset.total.retTrib.vRetPIS = ""
674
+ @dataset.total.retTrib.vRetCOFINS = ""
675
+ @dataset.total.retTrib.vRetCSLL = ""
676
+ @dataset.total.retTrib.vBCIRRF = ""
677
+ @dataset.total.retTrib.vIRRF = ""
678
+ @dataset.total.retTrib.vBCRetPrev = ""
679
+ @dataset.total.retTrib.vRetPrev = ""
680
+
681
+ # Transportadora
682
+ @dataset.transp.modFrete = ""
683
+ @dataset.transp.vagao = ""
684
+ @dataset.transp.balsa = ""
685
+ @dataset.transp.transporta.CNPJ = ""
686
+ @dataset.transp.transporta.CPF = ""
687
+ @dataset.transp.transporta.xNome = ""
688
+ @dataset.transp.transporta.IE = ""
689
+ @dataset.transp.transporta.xEnder = ""
690
+ @dataset.transp.transporta.xMun = ""
691
+ @dataset.transp.transporta.UF = ""
692
+ @dataset.transp.retTransp.vServ = ""
693
+ @dataset.transp.retTransp.vBCRet = ""
694
+ @dataset.transp.retTransp.pICMSRet = ""
695
+ @dataset.transp.retTransp.vICMSRet = ""
696
+ @dataset.transp.retTransp.CFOP = ""
697
+ @dataset.transp.retTransp.cMunFG = ""
698
+ @dataset.transp.veicTransp.placa = ""
699
+ @dataset.transp.veicTransp.UF = ""
700
+ @dataset.transp.veicTransp.RNTC = ""
701
+
702
+ # Reboque
703
+ @dataset.add("REBOQUE") do |reboque|
704
+ reboque.placa = ""
705
+ reboque.UF = ""
706
+ reboque.RNTC = ""
707
+ end
708
+
709
+ # Volume
710
+ @dataset.add("VOL") do |vol|
711
+ vol.qVol = ""
712
+ vol.esp = ""
713
+ vol.marca = ""
714
+ vol.nVol = ""
715
+ vol.pesoL = ""
716
+ vol.pesoB = ""
717
+ @dataset.add("LACRES") do |lacres|
718
+ lacres.nLacre = ""
719
+ end
720
+ end
721
+
722
+ # Cobrança
723
+ @dataset.cobr.fat.nFat = ""
724
+ @dataset.cobr.fat.vOrig = ""
725
+ @dataset.cobr.fat.vDesc = ""
726
+ @dataset.cobr.fat.vLiq = ""
727
+
728
+ # Duplicatas
729
+ @dataset.add("DUP") do |dup|
730
+ dup.nDup = ""
731
+ dup.dVenc = ""
732
+ dup.vDup = ""
733
+ end
734
+
735
+ # Pagamentos
736
+ @dataset.add("DETPAG") do |detpag|
737
+ detpag.indPag = ""
738
+ detpag.tPag = ""
739
+ detpag.vPag = ""
740
+ detpag.card.tpIntegra = ""
741
+ detpag.card.CNPJ = ""
742
+ detpag.card.tBand = ""
743
+ detpag.card.cAut = ""
744
+ detpag.vTroco = ""
745
+ end
746
+
747
+ # Informações do intermediador
748
+ @dataset.infIntermed.CNPJ = ""
749
+ @dataset.infIntermed.idCadIntTran = ""
750
+
751
+ # Informações adicionais
752
+ @dataset.infAdic.infAdFisco = ""
753
+ @dataset.infAdic.infCpl = ""
754
+
755
+ # Grupo campo de uso livre do contribuinte
756
+ @dataset.add("OBSCONT") do |obscont|
757
+ obscont.xCampo = ""
758
+ obscont.xTexto = ""
759
+ end
760
+
761
+ # Grupo campo de uso livre do fisco
762
+ @dataset.add("OBSFISCO") do |obsfisco|
763
+ obsfisco.xCampo = ""
764
+ obsfisco.xTexto = ""
765
+ end
766
+
767
+ # Grupo processo referenciado
768
+ @dataset.add("PROCREF") do |procref|
769
+ procref.nProc = ""
770
+ procref.indProc = ""
771
+ end
772
+
773
+ # Exportação
774
+ @dataset.exporta.UFSaidaPais = ""
775
+ @dataset.exporta.xLocExporta = ""
776
+ @dataset.exporta.xLocDespacho = ""
777
+
778
+ # Compra
779
+ @dataset.compra.xNEmp = ""
780
+ @dataset.compra.xPed = ""
781
+ @dataset.compra.xCont = ""
782
+
783
+ # Cana
784
+ @dataset.cana.safra = ""
785
+ @dataset.cana.ref = ""
786
+ @dataset.cana.qTotMes = ""
787
+ @dataset.cana.qTotAnt = ""
788
+ @dataset.cana.qTotGer = ""
789
+ @dataset.cana.vFor = ""
790
+ @dataset.cana.vTotDed = ""
791
+ @dataset.cana.vLiqFor = ""
792
+
793
+ # Fornecimento diário de cana
794
+ @dataset.add("FORDIA") do |fordia|
795
+ fordia.dia = ""
796
+ fordia.qtde = ""
797
+ end
798
+
799
+ # Fornecimento diário de cana
800
+ @dataset.add("DEDUC") do |deduc|
801
+ deduc.xDed = ""
802
+ deduc.vDed = ""
803
+ end
804
+
805
+ # Informações do responsável técnico
806
+ @dataset.infRespTec.CNPJ = ""
807
+ @dataset.infRespTec.xContato = ""
808
+ @dataset.infRespTec.email = ""
809
+ @dataset.infRespTec.fone = ""
810
+ @dataset.infRespTec.idCSRT = ""
811
+ @dataset.infRespTec.hashCSRT = ""
812
+
813
+ # Informações suplementares
814
+ @dataset.infNFeSupl.qrCode = ""
815
+ @dataset.infNFeSupl.urlChave = ""
816
+
817
+ # Gerando o XML e HASH do Dataset
818
+ @xml, @hash = @dataset.gerarNF
819
+ ```