medusa-invoice
Version:
Generate invoice from Medusa
85 lines • 7.46 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("TAX INVOICE", 40, 26, {
align: "right",
});
doc.fontSize(14).text(`Order Number: #${order.display_id}`, 40, 62, {
align: "right",
});
doc.fontSize(9).text(`Reference Number: ${order.id}`, 40, 82, {
align: "right",
});
const startX = 190;
const startY = 102;
const lineSpacing = 25;
const invoiceDetails = [
{
label: "Order Date:",
value: (0, dayjs_1.default)(order === null || order === void 0 ? void 0 : order.created_at).format("MMM DD, YYYY"),
},
{
label: "Payment Terms:",
value: (order === null || order === void 0 ? void 0 : order.payment_status) === "awaiting" ? "COD" : "Prepaid",
},
{
label: "Due Date:",
value: (0, dayjs_1.default)(order === null || order === void 0 ? void 0 : order.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 + 1, { align: "left" })
.font(valueStyle.font)
.fontSize(valueStyle.fontSize)
.fillColor("#000000")
.text(detail.value, startX + 10, currentY + 1, { align: "right" });
}
currentY += lineSpacing;
});
return currentY;
}
exports.generateInvoiceInformation = generateInvoiceInformation;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3RlbXBsYXRlcy9pbnZvaWNlcy9iYXNpYy9wYXJ0cy9pbnZvaWNlLWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLGdEQUF3QjtBQUV4QixtQ0FBMEM7QUFHMUMsU0FBZ0IsMEJBQTBCLENBQ3hDLEdBQUcsRUFDSCxDQUFTLEVBQ1QsT0FBZ0IsRUFDaEIsS0FBWTtJQUVaLEdBQUcsQ0FBQyxZQUFZLENBQ2QsU0FBUyxFQUNULGNBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLDJDQUEyQyxDQUFDLENBQ3JFLENBQUM7SUFDRixHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXBCLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNoRSxLQUFLLEVBQUUsT0FBTztLQUNmLENBQUMsQ0FBQztJQUVILEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNsRSxLQUFLLEVBQUUsT0FBTztLQUNmLENBQUMsQ0FBQztJQUVILEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUM1RCxLQUFLLEVBQUUsT0FBTztLQUNmLENBQUMsQ0FBQztJQUVILE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUNuQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDbkIsTUFBTSxXQUFXLEdB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