ghinfe 0.6.0 → 0.6.2
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.
- package/.env.example +24 -15
- package/LICENSE +21 -21
- package/README.md +491 -413
- package/docs/developer-guide.html +421 -421
- package/docs/openapi.yaml +428 -428
- package/examples/dce-homologacao.js +141 -0
- package/examples/emitir-nfce.js +51 -51
- package/examples/emitir-nfe.js +83 -83
- package/examples/emitir-nfse.js +46 -46
- package/examples/endpoints-sefaz.js +14 -14
- package/examples/eventos-nfe.js +49 -49
- package/examples/gerar-chave.js +25 -25
- package/examples/gerar-dace.js +59 -0
- package/examples/gerar-danfe.js +75 -75
- package/examples/gerar-dce.js +58 -0
- package/examples/layouts-nfse.js +51 -51
- package/examples/mock-sefaz.js +52 -52
- package/examples/nfse-eventos.js +57 -57
- package/examples/reforma-ibscbs.js +27 -27
- package/examples/reforma-nfe-xml.js +52 -52
- package/examples/status-sefaz.js +12 -12
- package/examples/validar-xsd.js +48 -48
- package/package.json +59 -68
- package/schemas/dce/PL_DCe_100a_NT2024.001/consulta/consSitDCeTiposBasico_v1.00.xsd +123 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/consulta/consSitDCe_v1.00.xsd +10 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/consulta/consStatServDCeTiposBasico_v1.00.xsd +110 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/consulta/consStatServDCe_v1.00.xsd +10 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/consulta/dceTiposBasico_v1.00.xsd +1388 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/consulta/retConsSitDCe_v1.00.xsd +10 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/consulta/retConsStatServDCe_v1.00.xsd +10 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/consulta/tiposGeralDCe_v1.00.xsd +712 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/consulta/xmldsig-core-schema_v1.01.xsd +98 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/dceTiposBasico_v1.00.xsd +1410 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/dce_v1.00.xsd +10 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/evento/evCancDCe_v1.00.xsd +36 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/evento/eventoDCeTiposBasico_v1.00.xsd +283 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/evento/eventoDCe_v1.00.xsd +9 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/evento/procEventoDCe_v1.00.xsd +10 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/evento/retEventoDCe_v1.00.xsd +9 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/evento/tiposGeralDCe_v1.00.xsd +712 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/evento/xmldsig-core-schema_v1.01.xsd +98 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/procDCe_v1.00.xsd +37 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/retDCe_v1.00.xsd +9 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/tiposGeralDCe_v1.00.xsd +712 -0
- package/schemas/dce/PL_DCe_100a_NT2024.001/xmldsig-core-schema_v1.01.xsd +98 -0
- package/schemas/nfe/PL_009_V4/enviNFe_v3.10.xsd +8 -8
- package/schemas/nfe/PL_009_V4/xmldsig-core-schema_v1.01.xsd +97 -97
- package/scripts/download-schemas.js +39 -39
- package/scripts/test-xsd.js +34 -34
- package/src/api/server.js +316 -316
- package/src/constants/sefaz.js +69 -69
- package/src/danfe/DanfeService.js +205 -205
- package/src/danfe/xml-extract.js +69 -69
- package/src/dce/builders/DCeEventoXmlBuilder.js +86 -0
- package/src/dce/builders/DCeXmlBuilder.js +345 -0
- package/src/dce/constants/dce.js +87 -0
- package/src/dce/dace/DaceService.js +356 -0
- package/src/dce/dace/dace-extract.js +114 -0
- package/src/dce/services/DCeService.js +263 -0
- package/src/dce/services/DCeSoapService.js +235 -0
- package/src/dce/services/DCeXmlService.js +67 -0
- package/src/dce/types/DCeDocument.js +106 -0
- package/src/dce/utils/qrcode.utils.js +59 -0
- package/src/errors/GhinfeError.js +13 -13
- package/src/errors/SefazError.js +25 -25
- package/src/errors/XsdValidationError.js +15 -15
- package/src/index.js +84 -60
- package/src/nfce/builders/NFCeXmlBuilder.js +178 -178
- package/src/nfce/constants/qrcode.js +26 -26
- package/src/nfce/services/NFCeService.js +188 -188
- package/src/nfce/services/NFCeXmlService.js +38 -38
- package/src/nfce/types/NFCeDocument.js +42 -42
- package/src/nfce/utils/qrcode.utils.js +92 -92
- package/src/nfe/builders/NFeEventoXmlBuilder.js +110 -110
- package/src/nfe/builders/NFeXmlBuilder.js +215 -215
- package/src/nfe/mocks/sefaz-responses.js +195 -195
- package/src/nfe/services/NFeEventoService.js +95 -95
- package/src/nfe/services/NFeService.js +196 -196
- package/src/nfe/services/NFeSignService.js +127 -111
- package/src/nfe/services/NFeSoapService.js +437 -437
- package/src/nfe/services/NFeXmlService.js +41 -41
- package/src/nfe/services/NFeXsdService.js +56 -56
- package/src/nfe/types/NFeDocument.js +92 -92
- package/src/nfe/types/NFeEvento.js +44 -44
- package/src/nfse/NFSeMunicipioResolver.js +42 -42
- package/src/nfse/builders/NFSeEventoXmlBuilder.js +92 -92
- package/src/nfse/builders/NFSeXmlBuilder.js +16 -16
- package/src/nfse/constants/municipios.js +82 -82
- package/src/nfse/layouts/adapters.js +202 -202
- package/src/nfse/mocks/nfse-responses.js +142 -142
- package/src/nfse/services/NFSeService.js +191 -191
- package/src/nfse/services/NFSeSoapService.js +232 -232
- package/src/nfse/services/NFSeXmlService.js +12 -12
- package/src/nfse/types/NFSeDocument.js +54 -54
- package/src/queue/NFCeQueue.js +63 -63
- package/src/queue/NFSeQueue.js +59 -59
- package/src/queue/NFeQueue.js +76 -76
- package/src/reforma/ibscbs.js +175 -175
- package/src/sefaz/SefazEndpointResolver.js +95 -95
- package/src/sefaz/ca/icp-brasil-raiz-v10.pem +38 -0
- package/src/sefaz/endpoints.registry.js +205 -205
- package/src/sefaz/httpsAgent.js +33 -0
- package/src/shared/fiscal.helpers.js +53 -53
- package/src/utils/certificate.utils.js +69 -47
- package/src/utils/chave.utils.js +205 -117
- package/src/utils/code128.utils.js +67 -0
- package/src/utils/date.utils.js +26 -26
- package/src/utils/xml.utils.js +44 -44
- package/src/validation/XsdValidator.js +133 -114
- package/src/validation/schemas.js +18 -14
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import crypto from 'crypto';
|
|
2
|
+
import { DCE_QRCODE_URL, DCE_TIPO_EMISSAO } from '../constants/dce.js';
|
|
3
|
+
import { loadPfxCertificate } from '../../utils/certificate.utils.js';
|
|
4
|
+
import { GhinfeError } from '../../errors/GhinfeError.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Assina a chave de acesso (RSA-SHA1, Base64) para o parâmetro sign do QR Code
|
|
8
|
+
* em contingência off-line. Deve usar o mesmo certificado que assina a DC-e.
|
|
9
|
+
* @param {string} chaveAcesso
|
|
10
|
+
* @param {Buffer|string} pfx
|
|
11
|
+
* @param {string} senha
|
|
12
|
+
*/
|
|
13
|
+
export function assinarChaveQrCodeDCe(chaveAcesso, pfx, senha) {
|
|
14
|
+
const { privateKeyPem } = loadPfxCertificate(pfx, senha);
|
|
15
|
+
return crypto.createSign('RSA-SHA1').update(chaveAcesso).sign(privateKeyPem, 'base64');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Monta URL do QR Code da DC-e (Manual DC-e — Anexo II, item 3.2).
|
|
20
|
+
*
|
|
21
|
+
* Normal: {url}?chDCe={chave}&tpAmb={amb}
|
|
22
|
+
* Contingência: {url}?chDCe={chave}&tpAmb={amb}&sign={assinatura}&{CNPJ|CPF|idOutros}={doc}
|
|
23
|
+
*
|
|
24
|
+
* O pattern de qrCodDCe no XSD exige "&sign=" logo após tpAmb, embora o exemplo
|
|
25
|
+
* do manual traga a identificação do emitente antes de sign.
|
|
26
|
+
*
|
|
27
|
+
* @param {{
|
|
28
|
+
* chaveAcesso: string,
|
|
29
|
+
* ambiente?: number,
|
|
30
|
+
* tipoEmissao?: number,
|
|
31
|
+
* emitente?: { cnpj?: string, cpf?: string, idOutros?: string },
|
|
32
|
+
* sign?: string,
|
|
33
|
+
* baseUrl?: string,
|
|
34
|
+
* }} params
|
|
35
|
+
*/
|
|
36
|
+
export function gerarUrlQrCodeDCe(params) {
|
|
37
|
+
const baseUrl = params.baseUrl ?? DCE_QRCODE_URL;
|
|
38
|
+
let url = `${baseUrl}?chDCe=${params.chaveAcesso}&tpAmb=${params.ambiente ?? 2}`;
|
|
39
|
+
|
|
40
|
+
if ((params.tipoEmissao ?? DCE_TIPO_EMISSAO.NORMAL) !== DCE_TIPO_EMISSAO.CONTINGENCIA_OFFLINE) {
|
|
41
|
+
return url;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (!params.sign) {
|
|
45
|
+
throw new GhinfeError(
|
|
46
|
+
'Parâmetro sign obrigatório no QR Code em contingência off-line',
|
|
47
|
+
'DCE_QRCODE_SIGN_MISSING'
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
url += `&sign=${params.sign}`;
|
|
52
|
+
|
|
53
|
+
const emit = params.emitente ?? {};
|
|
54
|
+
if (emit.cnpj) url += `&CNPJ=${emit.cnpj.replace(/\D/g, '')}`;
|
|
55
|
+
else if (emit.cpf) url += `&CPF=${emit.cpf.replace(/\D/g, '')}`;
|
|
56
|
+
else if (emit.idOutros) url += `&idOutros=${emit.idOutros}`;
|
|
57
|
+
|
|
58
|
+
return url;
|
|
59
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export class GhinfeError extends Error {
|
|
2
|
-
/**
|
|
3
|
-
* @param {string} message
|
|
4
|
-
* @param {string} [code]
|
|
5
|
-
* @param {unknown} [details]
|
|
6
|
-
*/
|
|
7
|
-
constructor(message, code = 'GHINFE_ERROR', details = null) {
|
|
8
|
-
super(message);
|
|
9
|
-
this.name = 'GhinfeError';
|
|
10
|
-
this.code = code;
|
|
11
|
-
this.details = details;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
1
|
+
export class GhinfeError extends Error {
|
|
2
|
+
/**
|
|
3
|
+
* @param {string} message
|
|
4
|
+
* @param {string} [code]
|
|
5
|
+
* @param {unknown} [details]
|
|
6
|
+
*/
|
|
7
|
+
constructor(message, code = 'GHINFE_ERROR', details = null) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.name = 'GhinfeError';
|
|
10
|
+
this.code = code;
|
|
11
|
+
this.details = details;
|
|
12
|
+
}
|
|
13
|
+
}
|
package/src/errors/SefazError.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { GhinfeError } from './GhinfeError.js';
|
|
2
|
-
|
|
3
|
-
export class SefazError extends GhinfeError {
|
|
4
|
-
/**
|
|
5
|
-
* @param {string} cStat
|
|
6
|
-
* @param {string} xMotivo
|
|
7
|
-
* @param {Record<string, unknown>} [raw]
|
|
8
|
-
*/
|
|
9
|
-
constructor(cStat, xMotivo, raw = {}) {
|
|
10
|
-
super(`SEFAZ [${cStat}]: ${xMotivo}`, `SEFAZ_${cStat}`, { cStat, xMotivo, ...raw });
|
|
11
|
-
this.name = 'SefazError';
|
|
12
|
-
this.cStat = cStat;
|
|
13
|
-
this.xMotivo = xMotivo;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/** @returns {boolean} */
|
|
17
|
-
isAutorizado() {
|
|
18
|
-
return this.cStat === '100';
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/** @returns {boolean} */
|
|
22
|
-
isRejeicao() {
|
|
23
|
-
return this.cStat.length === 3 && this.cStat.startsWith('2');
|
|
24
|
-
}
|
|
25
|
-
}
|
|
1
|
+
import { GhinfeError } from './GhinfeError.js';
|
|
2
|
+
|
|
3
|
+
export class SefazError extends GhinfeError {
|
|
4
|
+
/**
|
|
5
|
+
* @param {string} cStat
|
|
6
|
+
* @param {string} xMotivo
|
|
7
|
+
* @param {Record<string, unknown>} [raw]
|
|
8
|
+
*/
|
|
9
|
+
constructor(cStat, xMotivo, raw = {}) {
|
|
10
|
+
super(`SEFAZ [${cStat}]: ${xMotivo}`, `SEFAZ_${cStat}`, { cStat, xMotivo, ...raw });
|
|
11
|
+
this.name = 'SefazError';
|
|
12
|
+
this.cStat = cStat;
|
|
13
|
+
this.xMotivo = xMotivo;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** @returns {boolean} */
|
|
17
|
+
isAutorizado() {
|
|
18
|
+
return this.cStat === '100';
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** @returns {boolean} */
|
|
22
|
+
isRejeicao() {
|
|
23
|
+
return this.cStat.length === 3 && this.cStat.startsWith('2');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { GhinfeError } from './GhinfeError.js';
|
|
2
|
-
|
|
3
|
-
export class XsdValidationError extends GhinfeError {
|
|
4
|
-
/**
|
|
5
|
-
* @param {string[]} erros
|
|
6
|
-
* @param {string} [schema]
|
|
7
|
-
*/
|
|
8
|
-
constructor(erros, schema = 'unknown') {
|
|
9
|
-
const resumo = erros[0] ?? 'XML não conforme ao schema XSD';
|
|
10
|
-
super(`Validação XSD falhou: ${resumo}`, 'XSD_VALIDATION_FAILED', { erros, schema });
|
|
11
|
-
this.name = 'XsdValidationError';
|
|
12
|
-
this.erros = erros;
|
|
13
|
-
this.schema = schema;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
1
|
+
import { GhinfeError } from './GhinfeError.js';
|
|
2
|
+
|
|
3
|
+
export class XsdValidationError extends GhinfeError {
|
|
4
|
+
/**
|
|
5
|
+
* @param {string[]} erros
|
|
6
|
+
* @param {string} [schema]
|
|
7
|
+
*/
|
|
8
|
+
constructor(erros, schema = 'unknown') {
|
|
9
|
+
const resumo = erros[0] ?? 'XML não conforme ao schema XSD';
|
|
10
|
+
super(`Validação XSD falhou: ${resumo}`, 'XSD_VALIDATION_FAILED', { erros, schema });
|
|
11
|
+
this.name = 'XsdValidationError';
|
|
12
|
+
this.erros = erros;
|
|
13
|
+
this.schema = schema;
|
|
14
|
+
}
|
|
15
|
+
}
|
package/src/index.js
CHANGED
|
@@ -1,60 +1,84 @@
|
|
|
1
|
-
export { NFeService } from './nfe/services/NFeService.js';
|
|
2
|
-
export { NFeXmlService } from './nfe/services/NFeXmlService.js';
|
|
3
|
-
export { NFeSignService } from './nfe/services/NFeSignService.js';
|
|
4
|
-
export { NFeSoapService } from './nfe/services/NFeSoapService.js';
|
|
5
|
-
export { NFeEventoService } from './nfe/services/NFeEventoService.js';
|
|
6
|
-
export { NFeXsdService } from './nfe/services/NFeXsdService.js';
|
|
7
|
-
export { NFeXmlBuilder } from './nfe/builders/NFeXmlBuilder.js';
|
|
8
|
-
export { NFeEventoXmlBuilder } from './nfe/builders/NFeEventoXmlBuilder.js';
|
|
9
|
-
export { NFeQueue } from './queue/NFeQueue.js';
|
|
10
|
-
|
|
11
|
-
export { NFCeService } from './nfce/services/NFCeService.js';
|
|
12
|
-
export { NFCeXmlService } from './nfce/services/NFCeXmlService.js';
|
|
13
|
-
export { NFCeXmlBuilder } from './nfce/builders/NFCeXmlBuilder.js';
|
|
14
|
-
export { NFCeQueue } from './queue/NFCeQueue.js';
|
|
15
|
-
export { gerarUrlQrCodeV3, gerarHashQrCodeV3, inserirInfNFeSupl } from './nfce/utils/qrcode.utils.js';
|
|
16
|
-
|
|
17
|
-
export { NFSeService } from './nfse/services/NFSeService.js';
|
|
18
|
-
export { NFSeXmlService } from './nfse/services/NFSeXmlService.js';
|
|
19
|
-
export { NFSeXmlBuilder } from './nfse/builders/NFSeXmlBuilder.js';
|
|
20
|
-
export { NFSeEventoXmlBuilder } from './nfse/builders/NFSeEventoXmlBuilder.js';
|
|
21
|
-
export { NFSeSoapService, NFSeSoapError } from './nfse/services/NFSeSoapService.js';
|
|
22
|
-
export { NFSeMunicipioResolver } from './nfse/NFSeMunicipioResolver.js';
|
|
23
|
-
export { NFSeQueue } from './queue/NFSeQueue.js';
|
|
24
|
-
export { NFSE_LAYOUTS, NFSE_MUNICIPIOS } from './nfse/constants/municipios.js';
|
|
25
|
-
export { obterAdapter, NFSeLayoutAdapters } from './nfse/layouts/adapters.js';
|
|
26
|
-
|
|
27
|
-
export {
|
|
28
|
-
export {
|
|
29
|
-
|
|
30
|
-
export {
|
|
31
|
-
export {
|
|
32
|
-
|
|
33
|
-
export {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
export {
|
|
49
|
-
export {
|
|
50
|
-
|
|
51
|
-
export {
|
|
52
|
-
export {
|
|
53
|
-
|
|
54
|
-
export {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
1
|
+
export { NFeService } from './nfe/services/NFeService.js';
|
|
2
|
+
export { NFeXmlService } from './nfe/services/NFeXmlService.js';
|
|
3
|
+
export { NFeSignService } from './nfe/services/NFeSignService.js';
|
|
4
|
+
export { NFeSoapService } from './nfe/services/NFeSoapService.js';
|
|
5
|
+
export { NFeEventoService } from './nfe/services/NFeEventoService.js';
|
|
6
|
+
export { NFeXsdService } from './nfe/services/NFeXsdService.js';
|
|
7
|
+
export { NFeXmlBuilder } from './nfe/builders/NFeXmlBuilder.js';
|
|
8
|
+
export { NFeEventoXmlBuilder } from './nfe/builders/NFeEventoXmlBuilder.js';
|
|
9
|
+
export { NFeQueue } from './queue/NFeQueue.js';
|
|
10
|
+
|
|
11
|
+
export { NFCeService } from './nfce/services/NFCeService.js';
|
|
12
|
+
export { NFCeXmlService } from './nfce/services/NFCeXmlService.js';
|
|
13
|
+
export { NFCeXmlBuilder } from './nfce/builders/NFCeXmlBuilder.js';
|
|
14
|
+
export { NFCeQueue } from './queue/NFCeQueue.js';
|
|
15
|
+
export { gerarUrlQrCodeV3, gerarHashQrCodeV3, inserirInfNFeSupl } from './nfce/utils/qrcode.utils.js';
|
|
16
|
+
|
|
17
|
+
export { NFSeService } from './nfse/services/NFSeService.js';
|
|
18
|
+
export { NFSeXmlService } from './nfse/services/NFSeXmlService.js';
|
|
19
|
+
export { NFSeXmlBuilder } from './nfse/builders/NFSeXmlBuilder.js';
|
|
20
|
+
export { NFSeEventoXmlBuilder } from './nfse/builders/NFSeEventoXmlBuilder.js';
|
|
21
|
+
export { NFSeSoapService, NFSeSoapError } from './nfse/services/NFSeSoapService.js';
|
|
22
|
+
export { NFSeMunicipioResolver } from './nfse/NFSeMunicipioResolver.js';
|
|
23
|
+
export { NFSeQueue } from './queue/NFSeQueue.js';
|
|
24
|
+
export { NFSE_LAYOUTS, NFSE_MUNICIPIOS } from './nfse/constants/municipios.js';
|
|
25
|
+
export { obterAdapter, NFSeLayoutAdapters } from './nfse/layouts/adapters.js';
|
|
26
|
+
|
|
27
|
+
export { DCeService } from './dce/services/DCeService.js';
|
|
28
|
+
export { DCeXmlService } from './dce/services/DCeXmlService.js';
|
|
29
|
+
export { DCeXmlBuilder } from './dce/builders/DCeXmlBuilder.js';
|
|
30
|
+
export { DCeSoapService } from './dce/services/DCeSoapService.js';
|
|
31
|
+
export { DCeEventoXmlBuilder } from './dce/builders/DCeEventoXmlBuilder.js';
|
|
32
|
+
export { DaceService } from './dce/dace/DaceService.js';
|
|
33
|
+
export { extrairDadosDace } from './dce/dace/dace-extract.js';
|
|
34
|
+
export { codificarCode128C, gerarSvgCode128C } from './utils/code128.utils.js';
|
|
35
|
+
export { gerarUrlQrCodeDCe, assinarChaveQrCodeDCe } from './dce/utils/qrcode.utils.js';
|
|
36
|
+
export {
|
|
37
|
+
DCE_VERSAO,
|
|
38
|
+
DCE_TIPO_EMITENTE,
|
|
39
|
+
DCE_TIPO_EMISSAO,
|
|
40
|
+
DCE_MODALIDADE_TRANSPORTE,
|
|
41
|
+
DCE_QRCODE_URL,
|
|
42
|
+
DCE_WEBSERVICES,
|
|
43
|
+
DCE_EVENTOS,
|
|
44
|
+
DCE_STATUS,
|
|
45
|
+
} from './dce/constants/dce.js';
|
|
46
|
+
export { criarHttpsAgentSefaz, ICP_BRASIL_RAIZ_V10 } from './sefaz/httpsAgent.js';
|
|
47
|
+
|
|
48
|
+
export { DanfeService } from './danfe/DanfeService.js';
|
|
49
|
+
export { extrairDadosDanfe, formatarChaveAcesso } from './danfe/xml-extract.js';
|
|
50
|
+
|
|
51
|
+
export { SefazEndpointResolver, SEFAZ_SERVICO } from './sefaz/SefazEndpointResolver.js';
|
|
52
|
+
export { UF_AUTORIZADOR, AUTORIZADOR_ENDPOINTS } from './sefaz/endpoints.registry.js';
|
|
53
|
+
|
|
54
|
+
export {
|
|
55
|
+
calcularIBSCBS,
|
|
56
|
+
buildFragmentoIBSCBS,
|
|
57
|
+
somarTotaisReforma,
|
|
58
|
+
reformaHabilitada,
|
|
59
|
+
appendIBSCBS,
|
|
60
|
+
appendTotaisIBSCBS,
|
|
61
|
+
CST_IBSCBS,
|
|
62
|
+
REFORMA_LAYOUT,
|
|
63
|
+
} from './reforma/ibscbs.js';
|
|
64
|
+
|
|
65
|
+
export { XsdValidator } from './validation/XsdValidator.js';
|
|
66
|
+
export { XSD_SCHEMAS } from './validation/schemas.js';
|
|
67
|
+
|
|
68
|
+
export { GhinfeError } from './errors/GhinfeError.js';
|
|
69
|
+
export { SefazError } from './errors/SefazError.js';
|
|
70
|
+
export { XsdValidationError } from './errors/XsdValidationError.js';
|
|
71
|
+
|
|
72
|
+
export { SEFAZ_STATUS, SEFAZ_URLS, AMBIENTE, NFE_VERSAO, UF_IBGE } from './constants/sefaz.js';
|
|
73
|
+
export { NFE_EVENTOS } from './nfe/types/NFeEvento.js';
|
|
74
|
+
export { loadPfxCertificate, criarPfxDePem } from './utils/certificate.utils.js';
|
|
75
|
+
export {
|
|
76
|
+
gerarChaveAcesso,
|
|
77
|
+
calcularDigitoVerificador,
|
|
78
|
+
validarChaveAcesso,
|
|
79
|
+
parseChaveAcesso,
|
|
80
|
+
gerarCodigoNumerico,
|
|
81
|
+
gerarChaveAcessoDCe,
|
|
82
|
+
parseChaveAcessoDCe,
|
|
83
|
+
gerarCodigoNumericoDCe,
|
|
84
|
+
} from './utils/chave.utils.js';
|