enotas_nfe 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- 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