@accounter/pcn874-generator
Version:
Fully typed application that generates PCN874 text file
21 lines (20 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.footerBuilder = exports.transactionBuilder = exports.headerBuilder = void 0;
const HEADER_REPORT_TYPE = 1;
const HEADER_TAXABLE_DIFFERENT_RATE_SALES = '+00000000000';
const HEADER_TAXABLE_DIFFERENT_RATE_SALES_VAT = '+000000000';
const headerBuilder = (header) => {
const { licensedDealerId, generationDate, reportMonth, taxableSalesAmount, taxableSalesVat, salesRecordCount, zeroValOrExemptSalesCount, otherInputsVat, equipmentInputsVat, inputsCount, totalVat, } = header;
return `O${licensedDealerId}${reportMonth}${HEADER_REPORT_TYPE}${generationDate}${taxableSalesAmount}${taxableSalesVat}${HEADER_TAXABLE_DIFFERENT_RATE_SALES}${HEADER_TAXABLE_DIFFERENT_RATE_SALES_VAT}${salesRecordCount}${zeroValOrExemptSalesCount}${otherInputsVat}${equipmentInputsVat}${inputsCount}${totalVat}`;
};
exports.headerBuilder = headerBuilder;
const transactionBuilder = (transaction) => {
const { entryType, vatId, invoiceDate, refGroup, refNumber, totalVat, invoiceSum, allocationNumber, } = transaction;
return `\n${entryType}${vatId}${invoiceDate}${refGroup}${refNumber}${totalVat}${invoiceSum}${allocationNumber}`;
};
exports.transactionBuilder = transactionBuilder;
const footerBuilder = (header) => {
return `\nX${header.licensedDealerId}`;
};
exports.footerBuilder = footerBuilder;