Webmania NF-e
This is an unofficial wrapper to Webmania's server which can be used to generate brazilian invoices.
Installation
This package is available in Hex, and package can be installed
by adding webmania_nfe to your list of dependencies in mix.exs:
def deps do
[
{:webmania_nfe, "~> 0.1.0"}
]
endusage
config = %WebmaniaNfe.Client.Config{
base_url: "https://webmaniabr.com/api/",
consumer_key: "CONSUMER_KEY",
consumer_secret: "CONSUMER_SECRET",
access_token: "ACCESS_TOKEN",
access_token_secret: "ACCESS_TOKEN_SECRET"
}
webmania_nfe = config |> WebmaniaNfe.Client.new()
webmania_request = %WebmaniaNfe.Invoice.Create.Request{
ID: "123",
url_notificacao: "https://webmaniabr.com",
operacao: "1",
natureza_operacao: "Venda de produção do estabelecimento",
modelo: "1",
finalidade: "1",
ambiente: "1",
cliente: %WebmaniaNfe.Invoice.Create.Request.Customer{
cpf: "000.000.000-00",
nome_completo: "Nome do Cliente",
endereco: "Av. Brg. Faria Lima",
complemento: "Escritório",
numero: 1000,
bairro: "Itaim Bibi",
cidade: "São Paulo",
uf: "SP",
cep: "00000-000",
telefone: "(00) 0000-0000",
email: "nome@email.com"
},
produtos: [
%WebmaniaNfe.Invoice.Create.Request.Product{
nome: "Nome do produto",
codigo: "nome-do-produto",
ncm: "6109.10.00",
cest: "28.038.00",
quantidade: 1,
unidade: "UN",
peso: "0.800",
origem: 0,
subtotal: "29.90",
total: "29.90",
classe_imposto: "REF1000"
}
],
pedido: %WebmaniaNfe.Invoice.Create.Request.Order{
pagamento: 0,
presenca: 2,
modalidade_frete: 0,
frete: "12.56",
desconto: "10.00",
total: "174.60"
}
}
WebmaniaNfe.Nfe.invoice(webmania_config, webmania_request)How to run locally?
docker compose run --rm app bashmix deps.getto install the dependenciesiex -S mixto open the elixir REPL
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/webmania_nfe.