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 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