@facturacr/atv-sdk 1.2.14 → 2.0.0-alpha
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/__tests__/stubs/createDocument.data.ts +4 -1
- package/dist/src/ATV/core/CreateDocFactory.d.ts +2 -1
- package/dist/src/ATV/core/CreateDocFactory.js +1 -1
- package/dist/src/ATV/core/CreateDocFactory.js.map +1 -1
- package/dist/src/ATV/core/Document.d.ts +2 -1
- package/dist/src/ATV/core/Document.js +4 -1
- package/dist/src/ATV/core/Document.js.map +1 -1
- package/dist/src/ATV/core/Person.d.ts +2 -0
- package/dist/src/ATV/core/Person.js +3 -0
- package/dist/src/ATV/core/Person.js.map +1 -1
- package/dist/src/ATV/mappers/billDocToAtv.js +15 -15
- package/dist/src/ATV/mappers/billDocToAtv.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/lib/genXML/sigXML/index.js +2 -1
- package/dist/src/lib/genXML/sigXML/index.js.map +1 -1
- package/dist/src/lib/genXML/xmlConfig.d.ts +25 -24
- package/dist/src/lib/genXML/xmlConfig.js +25 -20
- package/dist/src/lib/genXML/xmlConfig.js.map +1 -1
- package/dist/src/types/facturaInterfaces.d.ts +10 -6
- package/doc/atv-structures/4.4/breaking-changes-ai-generated.md +53 -0
- package/doc/atv-structures/4.4/supported.md +12 -0
- package/examples/README.md +7 -2
- package/examples/createAndSend.ts +4 -3
- package/package.json +1 -1
- package/src/ATV/core/CreateDocFactory.ts +70 -70
- package/src/ATV/core/Document.ts +6 -2
- package/src/ATV/core/Person.ts +5 -0
- package/src/ATV/mappers/billDocToAtv.ts +20 -19
- package/src/index.ts +2 -2
- package/src/lib/genXML/sigXML/index.ts +2 -1
- package/src/lib/genXML/xmlConfig.ts +27 -33
- package/src/types/facturaInterfaces.ts +11 -6
- package/dist/src/confirmXML.d.ts +0 -8
- package/dist/src/confirmXML.js +0 -44
- package/dist/src/confirmXML.js.map +0 -1
- package/dist/src/creditNote.d.ts +0 -14
- package/dist/src/creditNote.js +0 -77
- package/dist/src/creditNote.js.map +0 -1
- package/dist/src/electronicBill.d.ts +0 -3
- package/dist/src/electronicBill.js +0 -61
- package/dist/src/electronicBill.js.map +0 -1
- package/dist/src/lib/genJSON/confirmXML.d.ts +0 -7
- package/dist/src/lib/genJSON/confirmXML.js +0 -46
- package/dist/src/lib/genJSON/confirmXML.js.map +0 -1
- package/dist/src/lib/genJSON/index.d.ts +0 -5
- package/dist/src/lib/genJSON/index.js +0 -135
- package/dist/src/lib/genJSON/index.js.map +0 -1
- package/examples/genBasicXML.ts +0 -31
- package/src/confirmXML.ts +0 -40
- package/src/creditNote.ts +0 -93
- package/src/electronicBill.ts +0 -57
- package/src/lib/genJSON/confirmXML.ts +0 -47
- package/src/lib/genJSON/index.ts +0 -131
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CreateDocumentInput } from
|
|
1
|
+
import { CreateDocumentInput } from '@src/index'
|
|
2
2
|
|
|
3
3
|
const taxStub: CreateDocumentInput['document']['orderLines'][0]['tax'] = {
|
|
4
4
|
code: '01',
|
|
@@ -18,6 +18,7 @@ const orderLines: CreateDocumentInput['document']['orderLines'] = [{
|
|
|
18
18
|
const receiverStub: CreateDocumentInput['document']['emitter'] = {
|
|
19
19
|
fullName: 'receiver name SRL',
|
|
20
20
|
commercialName: 'receiver name',
|
|
21
|
+
activityCode: '4',
|
|
21
22
|
identifier: {
|
|
22
23
|
type: '01',
|
|
23
24
|
id: '206930143'
|
|
@@ -43,6 +44,7 @@ const receiverStub: CreateDocumentInput['document']['emitter'] = {
|
|
|
43
44
|
const emitterStub: CreateDocumentInput['document']['receiver'] = {
|
|
44
45
|
fullName: 'Emisor name',
|
|
45
46
|
commercialName: 'emisor comercial name',
|
|
47
|
+
activityCode: '4',
|
|
46
48
|
identifier: {
|
|
47
49
|
type: '01',
|
|
48
50
|
id: '206920142'
|
|
@@ -76,6 +78,7 @@ export const creditNoteReferenceInfoExample: CreateDocumentInput['document']['re
|
|
|
76
78
|
export const createDocumentInputExample: CreateDocumentInput['document'] = {
|
|
77
79
|
consecutiveIdentifier: '2',
|
|
78
80
|
activityCode: '4',
|
|
81
|
+
providerId: emitterStub.identifier.id,
|
|
79
82
|
documentName: 'FacturaElectronica',
|
|
80
83
|
branch: '1', // '001'
|
|
81
84
|
terminal: '1', // '00001'
|
|
@@ -3,6 +3,7 @@ import { DocumentNames } from '@src/ATV/core/documentNames.types';
|
|
|
3
3
|
import { Document } from '@src/ATV/core/Document';
|
|
4
4
|
import { ReferenceInformationProps } from './ReferenceInformation';
|
|
5
5
|
import { ReceptorMessageProps } from './types';
|
|
6
|
+
type ReferenceInfoInput = ReferenceInformationProps;
|
|
6
7
|
type PersonInput = PersonProps;
|
|
7
8
|
type TaxInput = {
|
|
8
9
|
code: string;
|
|
@@ -28,6 +29,7 @@ type DocumentInput = {
|
|
|
28
29
|
branch: string;
|
|
29
30
|
terminal: string;
|
|
30
31
|
documentName: DocumentNames;
|
|
32
|
+
providerId: string;
|
|
31
33
|
countryCode: string;
|
|
32
34
|
securityCode: string;
|
|
33
35
|
activityCode: string;
|
|
@@ -38,7 +40,6 @@ type DocumentInput = {
|
|
|
38
40
|
conditionSale: string;
|
|
39
41
|
paymentMethod: string;
|
|
40
42
|
};
|
|
41
|
-
type ReferenceInfoInput = ReferenceInformationProps;
|
|
42
43
|
export type CreateDocumentInput = {
|
|
43
44
|
document: DocumentInput;
|
|
44
45
|
token: string;
|
|
@@ -18,7 +18,7 @@ class CreateDocFactory {
|
|
|
18
18
|
clave,
|
|
19
19
|
fullConsecutive: fullConsective,
|
|
20
20
|
orderLines,
|
|
21
|
-
|
|
21
|
+
providerId: document.providerId,
|
|
22
22
|
issueDate: new Date(),
|
|
23
23
|
emitter: Person_1.Person.create(document.emitter),
|
|
24
24
|
receiver: Person_1.Person.create(document.receiver),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateDocFactory.js","sourceRoot":"","sources":["../../../../src/ATV/core/CreateDocFactory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"CreateDocFactory.js","sourceRoot":"","sources":["../../../../src/ATV/core/CreateDocFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,8 @@ import { ReferenceInformation } from './ReferenceInformation';
|
|
|
6
6
|
import { SummaryProps } from './Summary.type';
|
|
7
7
|
export type InvoiceProps = {
|
|
8
8
|
clave: Clave;
|
|
9
|
+
providerId: string;
|
|
9
10
|
fullConsecutive: FullConsecutive;
|
|
10
|
-
activityCode: string;
|
|
11
11
|
issueDate: Date;
|
|
12
12
|
emitter: Person;
|
|
13
13
|
receiver: Person;
|
|
@@ -30,6 +30,7 @@ export declare class Document {
|
|
|
30
30
|
constructor(props: InvoiceProps);
|
|
31
31
|
get clave(): string;
|
|
32
32
|
get fullConsecutive(): string;
|
|
33
|
+
get providerId(): string;
|
|
33
34
|
get activityCode(): string;
|
|
34
35
|
get issueDate(): Date;
|
|
35
36
|
get emitter(): Person;
|
|
@@ -11,8 +11,11 @@ class Document {
|
|
|
11
11
|
get fullConsecutive() {
|
|
12
12
|
return this.props.fullConsecutive.value;
|
|
13
13
|
}
|
|
14
|
+
get providerId() {
|
|
15
|
+
return this.props.providerId;
|
|
16
|
+
}
|
|
14
17
|
get activityCode() {
|
|
15
|
-
return this.props.activityCode;
|
|
18
|
+
return this.props.emitter.activityCode;
|
|
16
19
|
}
|
|
17
20
|
get issueDate() {
|
|
18
21
|
return this.props.issueDate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../../src/ATV/core/Document.ts"],"names":[],"mappings":";;;AA8BA,MAAa,QAAQ;IAEnB,YAAY,KAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAA;IAC/B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAA;IACzC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../../src/ATV/core/Document.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export type PersonProps = {
|
|
|
16
16
|
id: string;
|
|
17
17
|
};
|
|
18
18
|
commercialName: string;
|
|
19
|
+
activityCode: string;
|
|
19
20
|
location?: LocationProps;
|
|
20
21
|
phone?: PhoneProps;
|
|
21
22
|
fax?: PhoneProps;
|
|
@@ -28,6 +29,7 @@ export declare class Person {
|
|
|
28
29
|
get identifierType(): '01' | '02' | undefined;
|
|
29
30
|
get identifierId(): string;
|
|
30
31
|
get commercialName(): string;
|
|
32
|
+
get activityCode(): string;
|
|
31
33
|
get location(): LocationProps | undefined;
|
|
32
34
|
get phone(): PhoneProps | undefined;
|
|
33
35
|
get fax(): PhoneProps | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Person.js","sourceRoot":"","sources":["../../../../src/ATV/core/Person.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Person.js","sourceRoot":"","sources":["../../../../src/ATV/core/Person.ts"],"names":[],"mappings":";;;AA2BA,MAAa,MAAM;IAEjB,YAAY,KAAkB;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAA;IACnC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAA;IACjC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAA;IAClC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAA;IAChC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;IACzB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAA;IACvB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;IACzB,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,KAAkB;QACrC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;CACF;AA7CD,wBA6CC"}
|
|
@@ -8,7 +8,7 @@ const mapOrderLinesToAtvFormat = (orderLines) => {
|
|
|
8
8
|
const LineaDetalle = orderLines.map((orderLine) => {
|
|
9
9
|
return {
|
|
10
10
|
NumeroLinea: orderLine.lineNumber,
|
|
11
|
-
|
|
11
|
+
CodigoCABYS: orderLine.code,
|
|
12
12
|
// CodigoComercial
|
|
13
13
|
Cantidad: orderLine.quantity,
|
|
14
14
|
UnidadMedida: orderLine.measureUnit,
|
|
@@ -18,20 +18,21 @@ const mapOrderLinesToAtvFormat = (orderLines) => {
|
|
|
18
18
|
MontoTotal: orderLine.totalAmount,
|
|
19
19
|
// Descuento
|
|
20
20
|
SubTotal: orderLine.subTotal,
|
|
21
|
-
|
|
21
|
+
BaseImponible: orderLine.subTotal,
|
|
22
22
|
Impuesto: {
|
|
23
23
|
Codigo: orderLine.tax.code,
|
|
24
|
-
CodigoTarifa: orderLine.tax.rateCode,
|
|
25
24
|
Tarifa: orderLine.tax.rate,
|
|
26
25
|
Monto: parseAtvMoneyFormat(orderLine.tax.amount)
|
|
27
26
|
},
|
|
28
|
-
|
|
27
|
+
ImpuestoAsumidoEmisorFabrica: 0,
|
|
28
|
+
ImpuestoNeto: parseAtvMoneyFormat(orderLine.tax.amount),
|
|
29
29
|
MontoTotalLinea: parseAtvMoneyFormat(orderLine.totalOrderLineAmount)
|
|
30
30
|
};
|
|
31
31
|
});
|
|
32
32
|
return { LineaDetalle };
|
|
33
33
|
};
|
|
34
|
-
const mapSummaryInvoice = (
|
|
34
|
+
const mapSummaryInvoice = (document) => {
|
|
35
|
+
const summaryInvoice = document.summaryInvoice;
|
|
35
36
|
return {
|
|
36
37
|
CodigoTipoMoneda: {
|
|
37
38
|
CodigoMoneda: summaryInvoice.currency.code,
|
|
@@ -48,11 +49,14 @@ const mapSummaryInvoice = (summaryInvoice) => {
|
|
|
48
49
|
TotalDescuentos: parseAtvMoneyFormat(summaryInvoice.totalDiscounts),
|
|
49
50
|
TotalVentaNeta: parseAtvMoneyFormat(summaryInvoice.totalNetSale),
|
|
50
51
|
TotalImpuesto: parseAtvMoneyFormat(summaryInvoice.totalTaxes),
|
|
52
|
+
MedioPago: {
|
|
53
|
+
TipoMedioPago: document.paymentMethod
|
|
54
|
+
},
|
|
51
55
|
TotalComprobante: parseAtvMoneyFormat(summaryInvoice.totalVoucher)
|
|
52
56
|
};
|
|
53
57
|
};
|
|
54
58
|
const mapPerson = (person) => {
|
|
55
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
59
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
56
60
|
const atvPerson = {
|
|
57
61
|
Nombre: person.fullName,
|
|
58
62
|
Identificacion: {
|
|
@@ -62,24 +66,19 @@ const mapPerson = (person) => {
|
|
|
62
66
|
NombreComercial: person.commercialName,
|
|
63
67
|
Ubicacion: undefined,
|
|
64
68
|
Telefono: undefined,
|
|
65
|
-
Fax: undefined,
|
|
66
69
|
CorreoElectronico: undefined
|
|
67
70
|
};
|
|
68
71
|
atvPerson.Ubicacion = person.location ? {
|
|
69
72
|
Provincia: (_a = person.location) === null || _a === void 0 ? void 0 : _a.province,
|
|
70
73
|
Canton: (_c = (_b = person.location) === null || _b === void 0 ? void 0 : _b.canton) === null || _c === void 0 ? void 0 : _c.padStart(2, '0'),
|
|
71
74
|
Distrito: (_e = (_d = person.location) === null || _d === void 0 ? void 0 : _d.district) === null || _e === void 0 ? void 0 : _e.padStart(2, '0'),
|
|
72
|
-
Barrio: (_g = (_f = person.location) === null || _f === void 0 ? void 0 : _f.neighborhood) === null || _g === void 0 ? void 0 : _g.padStart(
|
|
75
|
+
Barrio: (_g = (_f = person.location) === null || _f === void 0 ? void 0 : _f.neighborhood) === null || _g === void 0 ? void 0 : _g.padStart(5, '0'),
|
|
73
76
|
OtrasSenas: (_h = person.location) === null || _h === void 0 ? void 0 : _h.details
|
|
74
77
|
} : undefined;
|
|
75
78
|
atvPerson.Telefono = person.phone ? {
|
|
76
79
|
CodigoPais: (_j = person.phone) === null || _j === void 0 ? void 0 : _j.countryCode,
|
|
77
80
|
NumTelefono: (_k = person.phone) === null || _k === void 0 ? void 0 : _k.number
|
|
78
81
|
} : undefined;
|
|
79
|
-
atvPerson.Fax = person.fax ? {
|
|
80
|
-
CodigoPais: (_l = person.fax) === null || _l === void 0 ? void 0 : _l.countryCode,
|
|
81
|
-
NumTelefono: (_m = person.fax) === null || _m === void 0 ? void 0 : _m.number
|
|
82
|
-
} : undefined;
|
|
83
82
|
atvPerson.CorreoElectronico = person.email;
|
|
84
83
|
return atvPerson;
|
|
85
84
|
};
|
|
@@ -96,16 +95,17 @@ const mapDocumentToAtvFormat = (docName, document) => {
|
|
|
96
95
|
const key = docName;
|
|
97
96
|
const doc = {
|
|
98
97
|
Clave: document.clave,
|
|
99
|
-
|
|
98
|
+
ProveedorSistemas: document.providerId,
|
|
99
|
+
CodigoActividadEmisor: document.emitter.activityCode.padStart(6, '0'),
|
|
100
|
+
CodigoActividadReceptor: document.receiver.activityCode.padStart(6, '0'),
|
|
100
101
|
NumeroConsecutivo: document.fullConsecutive,
|
|
101
102
|
FechaEmision: document.issueDate.toISOString(),
|
|
102
103
|
Emisor: mapPerson(document.emitter),
|
|
103
104
|
Receptor: mapPerson(document.receiver),
|
|
104
105
|
CondicionVenta: document.conditionSale,
|
|
105
106
|
PlazoCredito: document.deadlineCredit,
|
|
106
|
-
MedioPago: document.paymentMethod,
|
|
107
107
|
DetalleServicio: mapOrderLinesToAtvFormat(document.orderLines),
|
|
108
|
-
ResumenFactura: mapSummaryInvoice(document
|
|
108
|
+
ResumenFactura: mapSummaryInvoice(document),
|
|
109
109
|
Otros: document.others
|
|
110
110
|
};
|
|
111
111
|
if (document.referenceInformation) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billDocToAtv.js","sourceRoot":"","sources":["../../../../src/ATV/mappers/billDocToAtv.ts"],"names":[],"mappings":";;;AASA,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC7C,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAAC,UAAuB,EAAmB,EAAE;IAC5E,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAqC,CAAC,SAAS,EAAE,EAAE;QACpF,OAAO;YACL,WAAW,EAAE,SAAS,CAAC,UAAU;YACjC,
|
|
1
|
+
{"version":3,"file":"billDocToAtv.js","sourceRoot":"","sources":["../../../../src/ATV/mappers/billDocToAtv.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { parseElectronicBillXML as xmlToJson } from './lib/genXML';
|
|
2
|
-
export { Document, InvoiceDocumentContainer, DetalleServicio, Resumen, Persona } from './types/facturaInterfaces';
|
|
2
|
+
export { AtvDocument as Document, InvoiceDocumentContainer, DetalleServicio, Resumen, Persona } from './types/facturaInterfaces';
|
|
3
3
|
export { CreateDocumentInput } from './ATV/core/CreateDocFactory';
|
|
4
4
|
export { ATV } from './ATV';
|
|
@@ -13,6 +13,7 @@ const xadesjs_1 = require("xadesjs");
|
|
|
13
13
|
const webcrypto_1 = require("@peculiar/webcrypto");
|
|
14
14
|
const genKeysAndCert_1 = require("./genKeysAndCert");
|
|
15
15
|
const xmldom_alpha_1 = require("xmldom-alpha");
|
|
16
|
+
const xmlConfig_1 = require("../xmlConfig");
|
|
16
17
|
function addSigToXML(xml, signature) {
|
|
17
18
|
xml.documentElement.appendChild(signature.GetXml());
|
|
18
19
|
const oSerializer = new xmldom_alpha_1.XMLSerializer();
|
|
@@ -43,7 +44,7 @@ function getOptions(publicKey, x509, referenceId) {
|
|
|
43
44
|
hash: 'SHA-1',
|
|
44
45
|
identifier: {
|
|
45
46
|
qualifier: 'OIDAsURI',
|
|
46
|
-
value:
|
|
47
|
+
value: `https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v${xmlConfig_1.ATV_VERSION}/facturaElectronica`
|
|
47
48
|
}
|
|
48
49
|
},
|
|
49
50
|
x509: [x509],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/genXML/sigXML/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,qCAAqE;AACrE,mDAA4C;AAC5C,qDAAsE;AACtE,+CAA4C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/genXML/sigXML/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,54 +1,55 @@
|
|
|
1
|
+
export declare const ATV_VERSION = "4.4";
|
|
1
2
|
export declare const declaration = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
|
|
2
3
|
export declare const defaultOptions: {
|
|
3
4
|
attrNodeName: string;
|
|
4
5
|
};
|
|
5
6
|
export declare const xmlExtructures: {
|
|
6
7
|
FacturaElectronica: {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
"xmlns:ds": string;
|
|
9
|
+
"xmlns:xsd": string;
|
|
10
|
+
"xmlns:xsi": string;
|
|
10
11
|
xmlns: string;
|
|
11
12
|
};
|
|
12
13
|
FacturaElectronicaExportacion: {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
"xmlns:ds": string;
|
|
15
|
+
"xmlns:xsd": string;
|
|
16
|
+
"xmlns:xsi": string;
|
|
16
17
|
xmlns: string;
|
|
17
18
|
};
|
|
18
19
|
NotaCreditoElectronica: {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
"xmlns:ds": string;
|
|
21
|
+
"xmlns:xsd": string;
|
|
22
|
+
"xmlns:xsi": string;
|
|
22
23
|
xmlns: string;
|
|
23
24
|
};
|
|
24
25
|
NotaDebitoElectronica: {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
"xmlns:ds": string;
|
|
27
|
+
"xmlns:xsd": string;
|
|
28
|
+
"xmlns:xsi": string;
|
|
28
29
|
xmlns: string;
|
|
29
30
|
};
|
|
30
31
|
MensajeReceptor: {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
"xmlns:ds": string;
|
|
33
|
+
"xmlns:xsd": string;
|
|
34
|
+
"xmlns:xsi": string;
|
|
34
35
|
xmlns: string;
|
|
35
36
|
};
|
|
36
37
|
CCE: {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
"xmlns:ds": string;
|
|
39
|
+
"xmlns:xsd": string;
|
|
40
|
+
"xmlns:xsi": string;
|
|
40
41
|
xmlns: string;
|
|
41
42
|
};
|
|
42
43
|
CPCE: {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
"xmlns:ds": string;
|
|
45
|
+
"xmlns:xsd": string;
|
|
46
|
+
"xmlns:xsi": string;
|
|
46
47
|
xmlns: string;
|
|
47
48
|
};
|
|
48
49
|
RCE: {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
"xmlns:ds": string;
|
|
51
|
+
"xmlns:xsd": string;
|
|
52
|
+
"xmlns:xsi": string;
|
|
52
53
|
xmlns: string;
|
|
53
54
|
};
|
|
54
55
|
};
|
|
@@ -1,29 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.xmlExtructures = exports.defaultOptions = exports.declaration = void 0;
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const MR_XML_SCHEMA_NS = 'https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/mensajeReceptor';
|
|
9
|
-
const NC_XML_SCHEMA_NS = 'https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/notaCreditoElectronica';
|
|
10
|
-
const NC_XML_SCHEMA_XSI = 'https://www.hacienda.go.cr/ATV/ComprobanteElectronico/docs/esquemas/2016/v4.3/NotaCreditoElectronica_V4.3.xsd';
|
|
11
|
-
const ND_XML_SCHEMA_NS = 'https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.3/notaDebitoElectronica';
|
|
12
|
-
const ND_XML_SCHEMA_XSI = 'https://www.hacienda.go.cr/ATV/ComprobanteElectronico/docs/esquemas/2016/v4.3/NotaDebitoElectronica_V4.3.xsd';
|
|
3
|
+
exports.xmlExtructures = exports.defaultOptions = exports.declaration = exports.ATV_VERSION = void 0;
|
|
4
|
+
exports.ATV_VERSION = '4.4';
|
|
5
|
+
const FE_XML_SCHEMA_NS = `https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v${exports.ATV_VERSION}/facturaElectronica`;
|
|
6
|
+
const MR_XML_SCHEMA_NS = `https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v${exports.ATV_VERSION}/mensajeReceptor`;
|
|
7
|
+
const NC_XML_SCHEMA_NS = `https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v${exports.ATV_VERSION}/notaCreditoElectronica`;
|
|
13
8
|
exports.declaration = '<?xml version="1.0" encoding="utf-8"?>';
|
|
14
9
|
exports.defaultOptions = {
|
|
15
|
-
attrNodeName:
|
|
10
|
+
attrNodeName: "attr",
|
|
16
11
|
};
|
|
17
12
|
const COMMON_STRUCTURE = {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
"xmlns:ds": "http://www.w3.org/2000/09/xmldsig#",
|
|
14
|
+
"xmlns:xsd": "http://www.w3.org/2001/XMLSchema",
|
|
15
|
+
"xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
|
|
21
16
|
};
|
|
22
|
-
const FE_XML_ATTRS = Object.assign({
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
17
|
+
const FE_XML_ATTRS = Object.assign({
|
|
18
|
+
// Factura Electronica
|
|
19
|
+
xmlns: FE_XML_SCHEMA_NS }, COMMON_STRUCTURE);
|
|
20
|
+
const FEE_XML_ATTRS = Object.assign({
|
|
21
|
+
// Factura Electronica Exportación
|
|
22
|
+
xmlns: FE_XML_SCHEMA_NS }, COMMON_STRUCTURE);
|
|
23
|
+
const NC_XML_ATTRS = Object.assign({
|
|
24
|
+
// Nota Credito Electronica
|
|
25
|
+
xmlns: NC_XML_SCHEMA_NS }, COMMON_STRUCTURE);
|
|
26
|
+
const ND_XML_ATTRS = Object.assign({
|
|
27
|
+
// Nota Credito Electronica
|
|
28
|
+
xmlns: NC_XML_SCHEMA_NS }, COMMON_STRUCTURE);
|
|
29
|
+
const MR_XML_ATTRS = Object.assign({
|
|
30
|
+
// Mensaje Receptor
|
|
31
|
+
xmlns: MR_XML_SCHEMA_NS }, COMMON_STRUCTURE);
|
|
27
32
|
exports.xmlExtructures = {
|
|
28
33
|
FacturaElectronica: FE_XML_ATTRS,
|
|
29
34
|
FacturaElectronicaExportacion: FEE_XML_ATTRS,
|
|
@@ -32,6 +37,6 @@ exports.xmlExtructures = {
|
|
|
32
37
|
MensajeReceptor: MR_XML_ATTRS,
|
|
33
38
|
CCE: MR_XML_ATTRS,
|
|
34
39
|
CPCE: MR_XML_ATTRS,
|
|
35
|
-
RCE: MR_XML_ATTRS
|
|
40
|
+
RCE: MR_XML_ATTRS,
|
|
36
41
|
};
|
|
37
42
|
//# sourceMappingURL=xmlConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xmlConfig.js","sourceRoot":"","sources":["../../../../src/lib/genXML/xmlConfig.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"xmlConfig.js","sourceRoot":"","sources":["../../../../src/lib/genXML/xmlConfig.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,KAAK,CAAA;AAEhC,MAAM,gBAAgB,GAAG,2DAA2D,mBAAW,qBAAqB,CAAA;AAEpH,MAAM,gBAAgB,GAAG,2DAA2D,mBAAW,kBAAkB,CAAA;AAEjH,MAAM,gBAAgB,GAAG,2DAA2D,mBAAW,yBAAyB,CAAA;AAE3G,QAAA,WAAW,GAAG,wCAAwC,CAAA;AAEtD,QAAA,cAAc,GAAG;IAC5B,YAAY,EAAE,MAAM;CACrB,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,UAAU,EAAE,oCAAoC;IAChD,WAAW,EAAE,kCAAkC;IAC/C,WAAW,EAAE,2CAA2C;CACzD,CAAC;AAEF,MAAM,YAAY;IAChB,sBAAsB;IACtB,KAAK,EAAE,gBAAgB,IACpB,gBAAgB,CACpB,CAAC;AAEF,MAAM,aAAa;IACjB,kCAAkC;IAClC,KAAK,EAAE,gBAAgB,IACpB,gBAAgB,CACpB,CAAC;AAEF,MAAM,YAAY;IAChB,2BAA2B;IAC3B,KAAK,EAAE,gBAAgB,IACpB,gBAAgB,CACpB,CAAC;AAEF,MAAM,YAAY;IAChB,2BAA2B;IAC3B,KAAK,EAAE,gBAAgB,IACpB,gBAAgB,CACpB,CAAC;AAEF,MAAM,YAAY;IAChB,mBAAmB;IACnB,KAAK,EAAE,gBAAgB,IACpB,gBAAgB,CACpB,CAAC;AAEW,QAAA,cAAc,GAAG;IAC5B,kBAAkB,EAAE,YAAY;IAChC,6BAA6B,EAAE,aAAa;IAC5C,sBAAsB,EAAE,YAAY;IACpC,qBAAqB,EAAE,YAAY;IACnC,eAAe,EAAE,YAAY;IAC7B,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,YAAY;CAClB,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export interface Impuesto {
|
|
2
2
|
Codigo: string;
|
|
3
|
-
CodigoTarifa: string;
|
|
4
3
|
Tarifa: number;
|
|
5
4
|
Monto?: number;
|
|
6
5
|
}
|
|
@@ -15,6 +14,7 @@ export interface LineaDetalle {
|
|
|
15
14
|
SubTotal?: number;
|
|
16
15
|
BaseImponible?: number;
|
|
17
16
|
Impuesto?: Impuesto;
|
|
17
|
+
ImpuestoAsumidoEmisorFabrica: number;
|
|
18
18
|
MontoTotalLinea?: number;
|
|
19
19
|
}
|
|
20
20
|
export interface DetalleServicio {
|
|
@@ -36,6 +36,9 @@ export interface Resumen {
|
|
|
36
36
|
TotalDescuentos?: number;
|
|
37
37
|
TotalVentaNeta?: number;
|
|
38
38
|
TotalImpuesto: number;
|
|
39
|
+
MedioPago?: {
|
|
40
|
+
TipoMedioPago: string;
|
|
41
|
+
};
|
|
39
42
|
TotalComprobante: number;
|
|
40
43
|
}
|
|
41
44
|
export interface Persona {
|
|
@@ -73,16 +76,17 @@ export interface InformacionReferencia {
|
|
|
73
76
|
Codigo: string;
|
|
74
77
|
Razon: string;
|
|
75
78
|
}
|
|
76
|
-
export interface
|
|
79
|
+
export interface AtvDocument {
|
|
77
80
|
Clave: string;
|
|
78
|
-
|
|
81
|
+
ProveedorSistemas: string;
|
|
82
|
+
CodigoActividadEmisor: string;
|
|
83
|
+
CodigoActividadReceptor: string;
|
|
79
84
|
NumeroConsecutivo: string;
|
|
80
85
|
FechaEmision?: string;
|
|
81
86
|
Emisor: Persona;
|
|
82
87
|
Receptor: Persona;
|
|
83
88
|
CondicionVenta?: string;
|
|
84
89
|
PlazoCredito?: string;
|
|
85
|
-
MedioPago?: string;
|
|
86
90
|
DetalleServicio?: DetalleServicio;
|
|
87
91
|
ResumenFactura: Resumen;
|
|
88
92
|
Otros?: {
|
|
@@ -90,7 +94,7 @@ export interface Document {
|
|
|
90
94
|
};
|
|
91
95
|
InformacionReferencia?: InformacionReferencia;
|
|
92
96
|
}
|
|
93
|
-
export interface XMLRawDocument extends
|
|
97
|
+
export interface XMLRawDocument extends AtvDocument {
|
|
94
98
|
}
|
|
95
99
|
interface MensajeReceptor {
|
|
96
100
|
Clave: string;
|
|
@@ -107,7 +111,7 @@ interface MensajeReceptor {
|
|
|
107
111
|
NumeroConsecutivoReceptor: string;
|
|
108
112
|
}
|
|
109
113
|
export interface InvoiceDocumentContainer {
|
|
110
|
-
[key: string]:
|
|
114
|
+
[key: string]: AtvDocument | MensajeReceptor;
|
|
111
115
|
}
|
|
112
116
|
export type ConfirmationMessageRaw = {
|
|
113
117
|
MensajeHacienda: {
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
Gemini generated output
|
|
2
|
+
|
|
3
|
+
## Campos Agregados para Todos los Comprobantes
|
|
4
|
+
Se incluye el campo de "Proveedor de Sistemas" para identificar los sistemas de emisión de comprobantes electrónicos.
|
|
5
|
+
|
|
6
|
+
Se incluye el campo de "Código de actividad económica del receptor".
|
|
7
|
+
|
|
8
|
+
Se ajusta la condición del nodo "Código y Tipo de Moneda" a obligatorio en todos los comprobantes.
|
|
9
|
+
|
|
10
|
+
## Campos Ajustados para Todos los Documentos
|
|
11
|
+
Se ajusta la descripción del nodo "Detalle del Servicio, Mercancía u otro" aclarando la condicionalidad de su uso obligatorio en el comprobante Factura Electrónica, excepto cuando se use se seleccione el código 04, 08, 09 y 10 de la nota 16 en el campo "Tipo de documento otros cargos" y no cuente con una línea de servicio o producto.
|
|
12
|
+
|
|
13
|
+
Se ajusta la condición del campo "Detalle de la mercancía transferida o servicio prestado" a obligatorio en todos los comprobantes.
|
|
14
|
+
|
|
15
|
+
Se ajusta la descripción sobre el cálculo del campo "Impuesto Neto" incorporando la resta del monto del campo "Impuestos Asumidos por el Emisor o cobrado a Nivel de Fábrica".
|
|
16
|
+
|
|
17
|
+
Se ajusta la descripción sobre el cálculo del campo "Total por Línea de Detalle" considerando únicamente la sumatoria entre el "Subtotal" y el "Impuesto Neto" en las reglas de cálculo.
|
|
18
|
+
|
|
19
|
+
## Campos Agregados Solo para Algunos Comprobantes
|
|
20
|
+
Se incluye en la nota 4 el código 05 para el tipo de identificación "Extranjero No Domiciliado", junto con nota explicativa al pie de página.
|
|
21
|
+
|
|
22
|
+
Se ajusta la descripción y se amplía el tamaño del campo "Número de cédula física/ juridica/NITE/DIMEX/Extranjero No domiciliado/No contribuyente, del emisor" a 20 caracteres cuando se use el código 05 de la nota 4.
|
|
23
|
+
|
|
24
|
+
Se incluye el campo de "Registro fiscal de bebidas Alcohólicas Ley 8707".
|
|
25
|
+
|
|
26
|
+
Se incluye el campo "Detalle Condición de la Venta OTRO" de uso obligatorio en caso de utilizar el código 99 de "Otros" de la nota 5.
|
|
27
|
+
|
|
28
|
+
Se incluye el Nodo de "Detalle de Productos del Surtido" que será de condición obligatoria para cuando se utilicen códigos CABYS de combos/surtidos/paquetes, junto con nota explicativa al pie de página.
|
|
29
|
+
|
|
30
|
+
Se incluye la nota 20 para los tipos de descuentos a utilizar en el campo de "Código del Descuento".
|
|
31
|
+
|
|
32
|
+
Se incluye el campo "Código del descuento" de condición obligatoria para la identificación de los descuentos detallados en la nota 20.
|
|
33
|
+
|
|
34
|
+
Se incluye el campo "Tipo de documento de exoneración o de autorización OTRO" de uso obligatorio en caso de utilizar el código 99 de "Otros" de la nota 10.1.
|
|
35
|
+
|
|
36
|
+
Se incluye el campo "Número de artículo que establece la exoneración o autorización" que será de condición obligatoria cuando se usen los códigos 02, 03 o 08 de la nota 10.1.
|
|
37
|
+
|
|
38
|
+
Se incluye el campo "Número de inciso que establece la exoneración o autorización" que será de condición obligatoria cuando se use el campo "Número de artículo que establece la exoneración o autorización".
|
|
39
|
+
|
|
40
|
+
Se incluye el campo "Nombre Institución Otros que será de condición obligatoria en el caso de utilizar el código 99 de "OTRO" de la nota 23.
|
|
41
|
+
|
|
42
|
+
Se incluye el campo "Tipo de documento OTRO" de uso obligatorio en caso de utilizar el código 99 de "Otros" de la nota 16.
|
|
43
|
+
|
|
44
|
+
Se crea anidamiento para la identificación del tercero e incluye el campo denominado "Tipo de identificación del Tercero" al nodo de "Otros Cargos".
|
|
45
|
+
|
|
46
|
+
Se incluye el nodo "Total Desglose por Impuesto Cobrado" con la explicación sobre el cálculo del campo.
|
|
47
|
+
|
|
48
|
+
## Campos Ajustados para Algunos Documentos
|
|
49
|
+
Se ajusta la condición del nodo "Identificación del Receptor" en factura electrónica de exportación a obligatorio.
|
|
50
|
+
|
|
51
|
+
Se ajusta la descripción y se amplía el tamaño del campo "Número de cédula física/jurídica/NITE/DIMEX/Extranjero No domiciliado, del receptor" a 20 caracteres.
|
|
52
|
+
|
|
53
|
+
Se ajusta la descripción y condición del campo "Tipo de Cambio" a obligatorio en los comprobantes "Nota de Crédito Electrónica" y "Nota de Débito Electrónica".
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
## Breaking changes de la librería
|
|
2
|
+
- Se agregó soporte para actividad economica para receptor y emisor.
|
|
3
|
+
- Se agregó soporte para proveedor de servicios.
|
|
4
|
+
## Ajustes mapeo generación documento ATV
|
|
5
|
+
- Se eliminó fax.
|
|
6
|
+
- Se ajustó el minimo del "Barrio" (padStart 6).
|
|
7
|
+
- Se ajustó "MedioPago" a objeto con "TipoMedioPago" y se mueve a ResumenFactura.
|
|
8
|
+
- Se cambió el nombre de "Codigo" a "CodigoCABYS" en DetalleServicio.
|
|
9
|
+
- Se agregó "BaseImponible" (soporte parcial).
|
|
10
|
+
- Se eliminó "CodigoTarifa" en Impuesto.
|
|
11
|
+
- Se agregó "ImpuestoAsumidoEmisorFabrica" (soporte parcial).
|
|
12
|
+
- Se agregó "ImpuestoNeto" (soporte parcial).
|