medusa-invoice
Version:
Generate invoice from Medusa
83 lines • 7.35 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateInvoiceInformation = void 0;
const dayjs_1 = __importDefault(require("dayjs"));
const path_1 = __importDefault(require("path"));
const table_1 = require("./table");
function generateInvoiceInformation(doc, y, invoice, order) {
doc.registerFont("Regular", path_1.default.resolve(__dirname, "../../../../../fonts/NotoSans-Regular.ttf"));
doc.font("Regular");
doc.fillColor("#444444").fontSize(32).text("INVOICE", 40, 50, {
align: "right",
});
doc.fontSize(14).text(`#Order${order.display_id}`, 40, 86, {
align: "right",
});
const startX = 180;
const startY = 120;
const lineSpacing = 25;
const invoiceDetails = [
{
label: "Date:",
value: (0, dayjs_1.default)(invoice === null || invoice === void 0 ? void 0 : invoice.created_at).format("MMM DD, YYYY"),
},
{
label: "Payment Terms:",
value: (order === null || order === void 0 ? void 0 : order.payment_status.slice(0, 1).toUpperCase()) +
(order === null || order === void 0 ? void 0 : order.payment_status.slice(1)),
},
{
label: "Due Date:",
value: (0, dayjs_1.default)(invoice === null || invoice === void 0 ? void 0 : invoice.created_at).format("MMM DD, YYYY"),
},
{ label: "PO Number:", value: "NA" },
{
label: "Balance Due:",
value: (order === null || order === void 0 ? void 0 : order.payment_status) === "captured"
? "₹0.00"
: (0, table_1.amountToDisplay)(order === null || order === void 0 ? void 0 : order.total, order === null || order === void 0 ? void 0 : order.currency_code),
},
];
let currentY = startY;
const labelStyle = {
font: "Regular",
fontSize: 10,
color: "#666666",
};
const valueStyle = {
font: "Regular",
fontSize: 10,
color: "#000000",
};
invoiceDetails.forEach((detail, index) => {
doc
.font(labelStyle.font)
.fontSize(labelStyle.fontSize)
.fillColor(labelStyle.color)
.text(detail.label, startX + 170, currentY, { align: "left" });
doc
.font(valueStyle.font)
.fontSize(valueStyle.fontSize)
.fillColor(valueStyle.color)
.text(detail.value, startX + 10, currentY, { align: "right" });
if (detail.label === "Balance Due:") {
doc.roundedRect(startX + 150, currentY - 5, 220, 25, 3).fill("#f5f5f5");
doc
.font(labelStyle.font)
.fontSize(labelStyle.fontSize)
.fillColor("#000000")
.text(detail.label, startX + 170, currentY + 3, { align: "left" })
.font(valueStyle.font)
.fontSize(valueStyle.fontSize)
.fillColor("#000000")
.text(detail.value, startX + 10, currentY + 2, { align: "right" });
}
currentY += lineSpacing;
});
return currentY;
}
exports.generateInvoiceInformation = generateInvoiceInformation;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3RlbXBsYXRlcy9pbnZvaWNlcy9iYXNpYy9wYXJ0cy9pbnZvaWNlLWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLGdEQUF3QjtBQUV4QixtQ0FBMEM7QUFHMUMsU0FBZ0IsMEJBQTBCLENBQ3hDLEdBQUcsRUFDSCxDQUFTLEVBQ1QsT0FBZ0IsRUFDaEIsS0FBWTtJQUVaLEdBQUcsQ0FBQyxZQUFZLENBQ2QsU0FBUyxFQUNULGNBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLDJDQUEyQyxDQUFDLENBQ3JFLENBQUM7SUFDRixHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXBCLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUM1RCxLQUFLLEVBQUUsT0FBTztLQUNmLENBQUMsQ0FBQztJQUVILEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDekQsS0FBSyxFQUFFLE9BQU87S0FDZixDQUFDLENBQUM7SUFFSCxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDbkIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ25CLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUV2QixNQUFNLGNBQWMsR0FBRztRQUNyQjtZQUNFLEtBQUssRUFBRSxPQUFPO1lBQ2QsS0FBSyxFQUFFLElBQUEsZUFBSyxFQUFDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO1NBQ3pEO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLEtBQUssRUFDSCxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFO2lCQUMvQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNqQztRQUNEO1lBQ0UsS0FBSyxFQUFFLFdBQVc7WUFDbEIsS0FBSyxFQUFFLElBQUEsZUFBSyxFQUFDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO1NBQ3pEO1FBQ0QsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7UUFDcEM7WUFDRSxLQUFLLEVBQUUsY0FBYztZQUNyQixLQUFLLEVBQ0gsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsY0FBYyxNQUFLLFVBQVU7Z0JBQ2xDLENBQUMsQ0FBQyxPQUFPO2dCQUNULENBQUMsQ0FBQyxJQUFBLHVCQUFlLEVBQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEtBQUssRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsYUFBYSxDQUFDO1NBQzFEO0tBQ0YsQ0FBQztJQUVGLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUV0QixNQUFNLFVBQVUsR0FBRztRQUNqQixJQUFJLEVBQUUsU0FBUztRQUNmLFFBQVEsRUFBRSxFQUFFO1FBQ1osS0FBSyxFQUFFLFNBQVM7S0FDakIsQ0FBQztJQUVGLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLElBQUksRUFBRSxTQUFTO1FBQ2YsUUFBUSxFQUFFLEVBQUU7UUFDWixLQUFLLEVBQUUsU0FBUztLQUNqQixDQUFDO0lBRUYsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN2QyxHQUFHO2FBQ0EsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7YUFDckIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7YUFDN0IsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7YUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUVqRSxHQUFHO2FBQ0EsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7YUFDckIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7YUFDN0IsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7YUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUVqRSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssY0FBYyxFQUFFO1lBQ25DLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxRQUFRLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXhFLEdBQUc7aUJBQ0EsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7aUJBQ3JCLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO2lCQUM3QixTQUFTLENBQUMsU0FBUyxDQUFDO2lCQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsR0FBRyxFQUFFLFFBQVEsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7aUJBQ2pFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO2lCQUNyQixRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztpQkFDN0IsU0FBUyxDQUFDLFNBQVMsQ0FBQztpQkFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxRQUFRLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDdEU7UUFFRCxRQUFRLElBQUksV0FBVyxDQUFDO0lBQzFCLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQTlGRCxnRUE4RkMifQ==