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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e5d52a7567345c4d663e17c8598efdf465dd421
4
- data.tar.gz: 2e7ab867f94edc66f4b13a1bfe853b5eb392849f
3
+ metadata.gz: 27f3265b781b1a8d68c668e93db162cc5240334e
4
+ data.tar.gz: 52ef3154608edd843c8dfb52f10bc5a8809e7378
5
5
  SHA512:
6
- metadata.gz: 416f3ff9fa953217ff3b4d33cc1ff3df7ee1bc49b3b47c634b5204c431b6478a4c8d12475b0cb82ba15df19052c9c7c3cd6d807346674acd3bef6478db07f5f1
7
- data.tar.gz: 98e99300f0981b7235e0347d1a3735b94b15d9bcd50970db54d64fd5b064de23e2e4c2cfdcb45324125f29cac508f15761c0d53a352e4cbcf1637534f8e6ec16
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
@@ -15,6 +15,7 @@ module EnotasNfe
15
15
  attribute :valorUnitario, Float
16
16
  attribute :descontos, Float
17
17
  attribute :impostos, Impostos
18
+ attribute :outrasDespesas, Float
18
19
 
19
20
  end
20
21
  end
@@ -1,3 +1,3 @@
1
1
  module EnotasNfe
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enotas_nfe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luis Fernando Pimenta