enotas_nfe 0.0.7 → 0.0.8
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.
- checksums.yaml +4 -4
- data/README.md +236 -15
- data/lib/enotas_nfe/model/produto.rb +1 -0
- data/lib/enotas_nfe/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27f3265b781b1a8d68c668e93db162cc5240334e
|
4
|
+
data.tar.gz: 52ef3154608edd843c8dfb52f10bc5a8809e7378
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b7d19809c98be5b00b1e654f55a6ae3335135ba646befab7c482f1f652490851db7086d0b6a85d2cc39ea81f890639ea27803d4f70f4214c5b77276ddf288d1
|
7
|
+
data.tar.gz: 750f82dc933471c5ed1e72b7d9fac0f9e9c49543e72ef5fd6cf512e40bc91c8ebe50672c30df4a3110333a0fc3fbca11767e3999edc0d1a21c357d2cfb354d15
|
data/README.md
CHANGED
@@ -31,20 +31,6 @@ Ou instale manualmente:
|
|
31
31
|
|
32
32
|
$ gem install enotas_nfe
|
33
33
|
|
34
|
-
## Configurando a empresa
|
35
|
-
|
36
|
-
```ruby
|
37
|
-
client = Enotas::Client.new('sua-api-key-do-e-notas', 'nfse')
|
38
|
-
empresa = EnotasNfe::Model::Empresa.new(client.get_empresa('id-da-empresa-no-enotas'))
|
39
|
-
|
40
|
-
## realize os ajustes da empresa, como nomeFantasia, email, etc
|
41
|
-
|
42
|
-
## atualize ou crie uma empresa
|
43
|
-
client.create_update_empresa(empresa)
|
44
|
-
|
45
|
-
```
|
46
|
-
|
47
|
-
|
48
34
|
## Uso básico para NFSE
|
49
35
|
|
50
36
|
* Instancie o cliente passando sua API key:
|
@@ -98,7 +84,7 @@ nfe.valorTotal = 1.00
|
|
98
84
|
|
99
85
|
#enviando a nota
|
100
86
|
nfe.nfse_create('id-da-empresa-no-enotas', nfe)
|
101
|
-
|
87
|
+
client.nfse_delete('id-da-empresa-no-enotas', id-da-nota)
|
102
88
|
```
|
103
89
|
|
104
90
|
## Uso básico para NFE
|
@@ -142,6 +128,13 @@ nfe.cliente.endereco = {
|
|
142
128
|
cep: '80000000'
|
143
129
|
}
|
144
130
|
|
131
|
+
#se tiver frete
|
132
|
+
nfe.transporte = EnotasNfe::Model::Transporte.new
|
133
|
+
nfe.transporte.frete = {
|
134
|
+
modalidade: "PorContaDoEmitente",
|
135
|
+
valor: 20.00
|
136
|
+
}
|
137
|
+
|
145
138
|
nfe.enviarPorEmail = true
|
146
139
|
|
147
140
|
produto = EnotasNfe::Model::Produto.new
|
@@ -171,6 +164,234 @@ client.nfe_create('id-da-empresa-no-enotas', nfe)
|
|
171
164
|
client.nfe_delete('id-da-empresa-no-enotas', id-da-nota)
|
172
165
|
```
|
173
166
|
|
167
|
+
## Uso básico para devolução de uma NFE
|
168
|
+
|
169
|
+
* Instancie o cliente passando sua API key:
|
170
|
+
|
171
|
+
```ruby
|
172
|
+
client = Enotas::Client.new('sua-api-key-do-e-notas', 'nfe')
|
173
|
+
```
|
174
|
+
|
175
|
+
Agora já podemos emitir uma nota!
|
176
|
+
|
177
|
+
* Emitindo uma nova de Devolução de produto - NFe:
|
178
|
+
|
179
|
+
```ruby
|
180
|
+
nfe = EnotasNfe::Model::Nfe.new
|
181
|
+
nfe.id = '1'
|
182
|
+
nfe.ambienteEmissao = "Homologacao" # "Producao" ou "Homologacao"
|
183
|
+
nfe.naturezaOperacao = "Devolução"
|
184
|
+
nfe.tipoOperacao = "Entrada"
|
185
|
+
nfe.nfeReferenciada = [{
|
186
|
+
"chaveAcesso": "000121111999005183450010000028881000025656"
|
187
|
+
}]
|
188
|
+
nfe.finalidade = "DevolucaoMercadoria"
|
189
|
+
nfe.consumidorFinal = true
|
190
|
+
nfe.indicadorPresencaConsumidor = true
|
191
|
+
|
192
|
+
nfe.cliente = {
|
193
|
+
tipoPessoa: 'F',
|
194
|
+
indicadorContribuinteICMS: "NaoContribuinte",
|
195
|
+
nome: 'Luis Fernando Pimenta',
|
196
|
+
email: 'email@luispimenta.me',
|
197
|
+
cpfCnpj: '33199707807',
|
198
|
+
telefone: '19981328642',
|
199
|
+
inscricaoMunicipal: '',
|
200
|
+
inscricaoEstadual: '',
|
201
|
+
}
|
202
|
+
|
203
|
+
nfe.cliente.endereco = {
|
204
|
+
uf: 'PR',
|
205
|
+
cidade: 'Curitiba',
|
206
|
+
logradouro: 'Rua 01',
|
207
|
+
numero: '112',
|
208
|
+
bairro: 'Centro',
|
209
|
+
cep: '80000000'
|
210
|
+
}
|
211
|
+
|
212
|
+
#se tiver frete
|
213
|
+
nfe.transporte = EnotasNfe::Model::Transporte.new
|
214
|
+
nfe.transporte.frete = {
|
215
|
+
modalidade: "PorContaDoEmitente",
|
216
|
+
valor: 20.00
|
217
|
+
}
|
218
|
+
|
219
|
+
nfe.enviarPorEmail = true
|
220
|
+
|
221
|
+
produto = EnotasNfe::Model::Produto.new
|
222
|
+
produto.cfop = "5101"
|
223
|
+
produto.codigo = '1'
|
224
|
+
produto.descricao = 'pneu'
|
225
|
+
produto.ncm = '38151210'
|
226
|
+
produto.unidadeMedida = 'UN'
|
227
|
+
produto.valorUnitario = 1.00
|
228
|
+
produto.impostos = EnotasNfe::Model::Impostos.new
|
229
|
+
produto.impostos.icms = EnotasNfe::Model::Icms.new
|
230
|
+
produto.impostos.icms.situacaoTributaria = '102'
|
231
|
+
produto.impostos.icms.origem = 0
|
232
|
+
produto.impostos.pis = EnotasNfe::Model::Pis.new
|
233
|
+
produto.impostos.pis.situacaoTributaria = '07'
|
234
|
+
produto.impostos.cofins = EnotasNfe::Model::Cofins.new
|
235
|
+
produto.impostos.cofins.situacaoTributaria = '07'
|
236
|
+
|
237
|
+
nfe.itens << produto
|
238
|
+
|
239
|
+
nfe.informacoesAdicionais = "I - Documento emitido por ME ou EPP optante pelo Simples Nacional.\r\n II - Não gera direito a crédito fiscal de ICMS, de ISS e de IPI." #opcional
|
240
|
+
|
241
|
+
#enviando a nota
|
242
|
+
client.nfe_create('id-da-empresa-no-enotas', nfe)
|
243
|
+
```
|
244
|
+
|
245
|
+
## Uso básico para NFCE
|
246
|
+
|
247
|
+
* Para emitir uma NFCE você precisa definir o ID E O CSC em produção, que também servirá para homologação
|
248
|
+
|
249
|
+
```ruby
|
250
|
+
client = Enotas::Client.new('sua-api-key-do-e-notas', 'nfe')
|
251
|
+
empresa = EnotasNfe::Model::Empresa.new(client.get_empresa('id-da-empresa-no-enotas'))
|
252
|
+
empresa.emissaoNFeConsumidor.ambienteProducao = EnotasNfe::Model::AmbienteProducao.new
|
253
|
+
empresa.emissaoNFeConsumidor.ambienteProducao.serieNFe = "2"
|
254
|
+
empresa.emissaoNFeConsumidor.ambienteProducao.sequencialNFe = "7"
|
255
|
+
empresa.emissaoNFeConsumidor.ambienteProducao.csc = EnotasNfe::Model::Csc.new
|
256
|
+
empresa.emissaoNFeConsumidor.ambienteProducao.csc.id = '000001'
|
257
|
+
empresa.emissaoNFeConsumidor.ambienteProducao.csc.codigo = '800FA97D5C3F4219A89DCE3FCE813A6F'
|
258
|
+
client.create_update_empresa(empresa)
|
259
|
+
```
|
260
|
+
|
261
|
+
* Instancie o cliente passando sua API key:
|
262
|
+
|
263
|
+
```ruby
|
264
|
+
client = Enotas::Client.new('sua-api-key-do-e-notas', 'nfe')
|
265
|
+
```
|
266
|
+
|
267
|
+
Agora já podemos emitir uma nota!
|
268
|
+
|
269
|
+
* Emitindo uma nova de VENDA de produto - NFCe:
|
270
|
+
|
271
|
+
```ruby
|
272
|
+
nfe = EnotasNfe::Model::Nfe.new
|
273
|
+
|
274
|
+
nfe.id = '1000'
|
275
|
+
nfe.ambienteEmissao = 'Homologacao'
|
276
|
+
|
277
|
+
nfe.pedido = {
|
278
|
+
"presencaConsumidor": "OperacaoPresencial"
|
279
|
+
}
|
280
|
+
|
281
|
+
nfe.pedido.pagamento = {
|
282
|
+
"tipo": "PagamentoAVista"
|
283
|
+
}
|
284
|
+
|
285
|
+
nfe.pedido.pagamento.formas = [
|
286
|
+
{
|
287
|
+
"tipo": "Dinheiro",
|
288
|
+
"valor": 10.00
|
289
|
+
}
|
290
|
+
]
|
291
|
+
|
292
|
+
nfe.enviarPorEmail = true
|
293
|
+
|
294
|
+
produto = EnotasNfe::Model::Produto.new
|
295
|
+
produto.cfop = "5101"
|
296
|
+
produto.codigo = "1"
|
297
|
+
produto.descricao = "pneu"
|
298
|
+
produto.ncm = "38151210"
|
299
|
+
produto.unidadeMedida = "UN"
|
300
|
+
produto.valorUnitario = 10.00
|
301
|
+
|
302
|
+
produto.impostos = EnotasNfe::Model::Impostos.new
|
303
|
+
produto.impostos.icms = EnotasNfe::Model::Icms.new
|
304
|
+
produto.impostos.icms.situacaoTributaria = "102"
|
305
|
+
produto.impostos.icms.origem = 0
|
306
|
+
|
307
|
+
nfe.itens << produto
|
308
|
+
|
309
|
+
#criar uma nfce
|
310
|
+
client.nfce_create('id-da-empresa-no-enotas', nfe)
|
311
|
+
#cancelando uma nota
|
312
|
+
client.nfce_delete('id-da-empresa-no-enotas', id-da-nota)
|
313
|
+
```
|
314
|
+
|
315
|
+
## Uso básico para NOTA CONJUGADA
|
316
|
+
|
317
|
+
* Instancie o cliente passando sua API key:
|
318
|
+
|
319
|
+
```ruby
|
320
|
+
client = Enotas::Client.new('sua-api-key-do-e-notas', 'nfe')
|
321
|
+
```
|
322
|
+
|
323
|
+
Agora já podemos emitir uma nota!
|
324
|
+
|
325
|
+
* Emitindo uma nova conjugada
|
326
|
+
|
327
|
+
```ruby
|
328
|
+
nfe = EnotasNfe::Model::Nfe.new
|
329
|
+
nfe.id = "1"
|
330
|
+
# "Producao" ou "Homologacao"
|
331
|
+
nfe.ambienteEmissao = "Homologacao"
|
332
|
+
nfe.naturezaOperacao = "Venda"
|
333
|
+
nfe.finalidade = "Normal"
|
334
|
+
nfe.consumidorFinal = true
|
335
|
+
nfe.indicadorPresencaConsumidor = true
|
336
|
+
nfe.cliente = {
|
337
|
+
tipoPessoa: "F",
|
338
|
+
indicadorContribuinteICMS: "NaoContribuinte",
|
339
|
+
nome: "Luis Fernando Pimenta",
|
340
|
+
email: "email@luispimenta.me",
|
341
|
+
cpfCnpj: "33199707807",
|
342
|
+
telefone: "19981328642",
|
343
|
+
inscricaoMunicipal: "",
|
344
|
+
inscricaoEstadual: "",
|
345
|
+
}
|
346
|
+
nfe.cliente.endereco = {
|
347
|
+
uf: "PR",
|
348
|
+
cidade: "Curitiba",
|
349
|
+
logradouro: "Rua 01",
|
350
|
+
numero: "112",
|
351
|
+
bairro: "Centro",
|
352
|
+
cep: "80000000"
|
353
|
+
}
|
354
|
+
nfe.enviarPorEmail = true
|
355
|
+
produto = EnotasNfe::Model::Produto.new
|
356
|
+
produto.cfop = "5101"
|
357
|
+
produto.codigo = "1"
|
358
|
+
produto.descricao = "pneu"
|
359
|
+
produto.ncm = "38151210"
|
360
|
+
produto.unidadeMedida = "UN"
|
361
|
+
produto.valorUnitario = 1.00
|
362
|
+
produto.impostos = EnotasNfe::Model::Impostos.new
|
363
|
+
produto.impostos.icms = EnotasNfe::Model::Icms.new
|
364
|
+
produto.impostos.icms.situacaoTributaria = "102"
|
365
|
+
produto.impostos.icms.origem = 0
|
366
|
+
produto.impostos.pis = EnotasNfe::Model::Pis.new
|
367
|
+
produto.impostos.pis.situacaoTributaria = "07"
|
368
|
+
produto.impostos.cofins = EnotasNfe::Model::Cofins.new
|
369
|
+
produto.impostos.cofins.situacaoTributaria = "07"
|
370
|
+
nfe.itens << produto
|
371
|
+
|
372
|
+
produto = EnotasNfe::Model::Produto.new
|
373
|
+
#OBS: Deve ser utilizado o CFOP 6933 quando for serviço realizado fora do estado.
|
374
|
+
produto.cfop = "5933"
|
375
|
+
produto.codigo = "S001"
|
376
|
+
produto.descricao = "Serviço de Troca de Disco de Freio (dianteiro ou traseiro)"
|
377
|
+
produto.ncm = "00"
|
378
|
+
produto.unidadeMedida = "UN"
|
379
|
+
produto.valorUnitario = 1.00
|
380
|
+
produto.impostos = EnotasNfe::Model::Impostos.new
|
381
|
+
produto.impostos.pis = EnotasNfe::Model::Pis.new
|
382
|
+
produto.impostos.pis.situacaoTributaria = "07"
|
383
|
+
produto.impostos.cofins = EnotasNfe::Model::Cofins.new
|
384
|
+
produto.impostos.cofins.situacaoTributaria = "07"
|
385
|
+
nfe.itens << produto
|
386
|
+
|
387
|
+
nfe.valorTotal = 2.00
|
388
|
+
|
389
|
+
#criar uma nfce
|
390
|
+
client.nfe_create('id-da-empresa-no-enotas', nfe)
|
391
|
+
#cancelando uma nota
|
392
|
+
client.nfe_delete('id-da-empresa-no-enotas', id-da-nota)
|
393
|
+
```
|
394
|
+
|
174
395
|
## Testando a gem localmente
|
175
396
|
|
176
397
|
```ruby
|
data/lib/enotas_nfe/version.rb
CHANGED