UNPKG

nodefact

Version:

Biblioteca para facturación electrónica en Perú con Node.js. Compatible con UBL 2.1 y servicios web de SUNAT.

123 lines (113 loc) 4.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.summary = void 0; /** * Plantilla para Resumen Diario (Summary Documents) */ const namespaces_1 = require("./namespaces"); exports.summary = `<?xml version="1.0" encoding="UTF-8"?> <SummaryDocuments xmlns="urn:sunat:names:specification:ubl:peru:schema:xsd:SummaryDocuments-1" xmlns:cac="${namespaces_1.namespaces.cac}" xmlns:cbc="${namespaces_1.namespaces.cbc}" xmlns:ds="${namespaces_1.namespaces.ds}" xmlns:ext="${namespaces_1.namespaces.ext}" xmlns:sac="${namespaces_1.namespaces.sac}" xmlns:xsi="${namespaces_1.namespaces.xsi}"> <ext:UBLExtensions> <ext:UBLExtension> <ext:ExtensionContent/> </ext:UBLExtension> </ext:UBLExtensions> <!-- Versión del UBL --> <cbc:UBLVersionID>2.0</cbc:UBLVersionID> <!-- Versión de la estructura del documento --> <cbc:CustomizationID>1.1</cbc:CustomizationID> <!-- Identificador del resumen --> <cbc:ID>RC-{{fechaEmision}}-{{correlativo}}</cbc:ID> <!-- Fecha de emisión del resumen --> <cbc:ReferenceDate>{{fechaReferencia}}</cbc:ReferenceDate> <!-- Fecha de generación del resumen --> <cbc:IssueDate>{{fechaEmision}}</cbc:IssueDate> <!-- Firma Digital --> <cac:Signature> <cbc:ID>{{signatureID}}</cbc:ID> <cac:SignatoryParty> <cac:PartyIdentification> <cbc:ID>{{emisor.ruc}}</cbc:ID> </cac:PartyIdentification> <cac:PartyName> <cbc:Name>{{emisor.razonSocial}}</cbc:Name> </cac:PartyName> </cac:SignatoryParty> <cac:DigitalSignatureAttachment> <cac:ExternalReference> <cbc:URI>{{signatureURI}}</cbc:URI> </cac:ExternalReference> </cac:DigitalSignatureAttachment> </cac:Signature> <!-- Datos del Emisor --> <cac:AccountingSupplierParty> <cbc:CustomerAssignedAccountID>{{emisor.ruc}}</cbc:CustomerAssignedAccountID> <cbc:AdditionalAccountID>6</cbc:AdditionalAccountID> <cac:Party> <cac:PartyLegalEntity> <cbc:RegistrationName>{{emisor.razonSocial}}</cbc:RegistrationName> </cac:PartyLegalEntity> </cac:Party> </cac:AccountingSupplierParty> <!-- Detalle de comprobantes --> {{#each comprobantes}} <sac:SummaryDocumentsLine> <cbc:LineID>{{@index}}</cbc:LineID> <cbc:DocumentTypeCode>{{tipoDocumento}}</cbc:DocumentTypeCode> <cbc:ID>{{serie}}-{{correlativoInicio}}</cbc:ID> <cac:Status> <cbc:ConditionCode>{{estado}}</cbc:ConditionCode> </cac:Status> <!-- Totales --> <sac:TotalAmount currencyID="{{moneda}}">{{total}}</sac:TotalAmount> {{#if gravadas}} <!-- Gravadas --> <sac:BillingPayment> <cbc:PaidAmount currencyID="{{moneda}}">{{gravadas}}</cbc:PaidAmount> <cbc:InstructionID>01</cbc:InstructionID> </sac:BillingPayment> {{/if}} {{#if exoneradas}} <!-- Exoneradas --> <sac:BillingPayment> <cbc:PaidAmount currencyID="{{moneda}}">{{exoneradas}}</cbc:PaidAmount> <cbc:InstructionID>02</cbc:InstructionID> </sac:BillingPayment> {{/if}} {{#if inafectas}} <!-- Inafectas --> <sac:BillingPayment> <cbc:PaidAmount currencyID="{{moneda}}">{{inafectas}}</cbc:PaidAmount> <cbc:InstructionID>03</cbc:InstructionID> </sac:BillingPayment> {{/if}} {{#if gratuitas}} <!-- Gratuitas --> <sac:BillingPayment> <cbc:PaidAmount currencyID="{{moneda}}">{{gratuitas}}</cbc:PaidAmount> <cbc:InstructionID>05</cbc:InstructionID> </sac:BillingPayment> {{/if}} <!-- Impuestos --> <cac:TaxTotal> <cbc:TaxAmount currencyID="{{moneda}}">{{igv}}</cbc:TaxAmount> <cac:TaxSubtotal> <cbc:TaxAmount currencyID="{{moneda}}">{{igv}}</cbc:TaxAmount> <cac:TaxCategory> <cac:TaxScheme> <cbc:ID>1000</cbc:ID> <cbc:Name>IGV</cbc:Name> <cbc:TaxTypeCode>VAT</cbc:TaxTypeCode> </cac:TaxScheme> </cac:TaxCategory> </cac:TaxSubtotal> </cac:TaxTotal> </sac:SummaryDocumentsLine> {{/each}} </SummaryDocuments>`;