https://github.com/kleversoncruz/leitor-dfe
Aplicação para criar relatórios em CSV a partir de XMLs de Documentos Fiscais Eletrônicos
https://github.com/kleversoncruz/leitor-dfe
cfe documento-fiscal-eletronico nfce nfe nodejs xml-parser
Last synced: about 1 year ago
JSON representation
Aplicação para criar relatórios em CSV a partir de XMLs de Documentos Fiscais Eletrônicos
- Host: GitHub
- URL: https://github.com/kleversoncruz/leitor-dfe
- Owner: KleversonCruz
- Created: 2022-02-27T17:23:55.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-10-10T01:22:06.000Z (over 3 years ago)
- Last Synced: 2024-04-18T13:15:27.569Z (about 2 years ago)
- Topics: cfe, documento-fiscal-eletronico, nfce, nfe, nodejs, xml-parser
- Language: TypeScript
- Homepage: https://leitor-dfe.onrender.com
- Size: 307 KB
- Stars: 6
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Leitor de Documentos Fiscais Eletrônicos



API REST desenvolvida para uso em revenda de softwares de automação comercial, onde havia necessidade do envio dos arquivos XML de documentos fiscais junto a um relatório para escritórios de contabilidade.
Este projeto realiza a leitura de XMLs de documentos fiscais e converte para um arquivo CSV. É possível gerar relatórios com diferentes modelos de documentos(NFC-e, NF-e, CF-e SAT) em um único arquivo.
## Funcionalidades
:heavy_check_mark: Relatórios em CSV a partir de Documentos Fiscais Eletrônicos.
:heavy_check_mark: Compatível com XMLs de NF-e, CF-e SAT e NFC-e.
:heavy_check_mark: Personalizar campos e delimitadores do arquivo CSV.
## Instalando
```bash
$ npm install
```
## Executando
```bash
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
```
## Testando
```bash
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
```
## REST API
`POST /report/csv`
### Request
```bash
curl -X 'POST'
'https://localhost:3000/report/csv'
-H 'Content-Type: multipart/form-data'
-F 'keys=emitCNPJ,status,dtEmissao,itemVTotal'
-F 'fieldDelimiter=;'
-F 'totalizerRow=true'
-F 'files=@NFCe.xml;type=text/xml'
```
### Responses
Code 201
Response headers:
content-disposition: attachment; filename=report.csv
content-length: 142
content-type: text/csv; charset=utf-8
Response body:
emitCNPJ;status;dtEmissao;itemVTotal
11.111.111/1111-11;AUTORIZADO;03/05/2021;25,16
11.111.111/1111-11;AUTORIZADO;03/05/2021;16,29
;;;41,45
### Paramêtros
* `files` - Um ou mais arquivos XML a serem convertidos
* `keys` - (Opcional) Array separado por vingulas de campos a serem gerados no relatório
* `fieldDelimiter` - (Opcional) Define qual o delimitador utilizado no CSV
* `includeTotalizerRow` - (Opcional) Boolean - Define se o relatório deve possuir um linha de valores totalizadores