medusajs-documents-plugin 1.1.18 → 1.1.19
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.
|
@@ -64,6 +64,15 @@ function getDocTypeLabel(type) {
|
|
|
64
64
|
return type || "Document";
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
+
function formatCurrency(amount, currencyCode) {
|
|
68
|
+
const raw = (currencyCode || "kes").toLowerCase().trim();
|
|
69
|
+
const normalized = !raw || raw === "usd" ? "KES" : raw.toUpperCase();
|
|
70
|
+
const locale = normalized === "KES" ? "en-KE" : "en-US";
|
|
71
|
+
return new Intl.NumberFormat(locale, {
|
|
72
|
+
style: "currency",
|
|
73
|
+
currency: normalized
|
|
74
|
+
}).format(Number(amount) || 0);
|
|
75
|
+
}
|
|
67
76
|
function groupDocuments(documents) {
|
|
68
77
|
var _a, _b;
|
|
69
78
|
if (!documents || documents.length === 0) return [];
|
|
@@ -163,7 +172,8 @@ function groupDocuments(documents) {
|
|
|
163
172
|
const totalAmount = Number(
|
|
164
173
|
invoiceDoc && invoiceDoc.total_amount != null ? invoiceDoc.total_amount : estimateDoc && estimateDoc.total_amount != null ? estimateDoc.total_amount : receiptDoc && receiptDoc.total_amount != null ? receiptDoc.total_amount : primaryDoc.total_amount || 0
|
|
165
174
|
);
|
|
166
|
-
const
|
|
175
|
+
const rawCurrency = (primaryDoc.currency_code || (invoiceDoc == null ? void 0 : invoiceDoc.currency_code) || "kes").toLowerCase().trim();
|
|
176
|
+
const currencyCode = !rawCurrency || rawCurrency === "usd" ? "kes" : rawCurrency;
|
|
167
177
|
const uniqueTypes = Array.from(new Set(clusterDocs.map((d) => getDocTypeLabel(d.type))));
|
|
168
178
|
const includedTypesSummary = uniqueTypes.join(" • ");
|
|
169
179
|
const latestCreatedAt = clusterDocs.reduce((latest, d) => {
|
|
@@ -910,10 +920,7 @@ const DocumentsPage = () => {
|
|
|
910
920
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium", children: group.customerName || "Guest" }),
|
|
911
921
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] text-ui-fg-subtle", children: group.customerEmail || group.customerPhone || "-" })
|
|
912
922
|
] }) }),
|
|
913
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold", children:
|
|
914
|
-
style: "currency",
|
|
915
|
-
currency: (group.currencyCode || "KES").toUpperCase()
|
|
916
|
-
}).format(Number(group.totalAmount || 0)) }) }),
|
|
923
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold", children: formatCurrency(group.totalAmount, group.currencyCode) }) }),
|
|
917
924
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Badge, { color: isPaid ? "green" : doc.payment_status === "unpaid" ? "red" : "blue", size: "small", children: doc.payment_status || doc.status }) }),
|
|
918
925
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Badge, { color: isZoho ? "purple" : "grey", size: "small", children: isZoho ? "Zoho Books" : "PDFKit" }) }),
|
|
919
926
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-ui-fg-subtle", children: new Date(group.latestCreatedAt).toLocaleDateString() }) }),
|
|
@@ -954,10 +961,7 @@ const DocumentsPage = () => {
|
|
|
954
961
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-ui-fg-subtle", children: subDoc.display_id })
|
|
955
962
|
] }),
|
|
956
963
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
957
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] font-semibold text-ui-fg-base", children: subDoc.total_amount != null && Number(subDoc.total_amount) > 0 ?
|
|
958
|
-
style: "currency",
|
|
959
|
-
currency: (subDoc.currency_code || "KES").toUpperCase()
|
|
960
|
-
}).format(Number(subDoc.total_amount)) : "—" }),
|
|
964
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] font-semibold text-ui-fg-base", children: subDoc.total_amount != null && Number(subDoc.total_amount) > 0 ? formatCurrency(subDoc.total_amount, subDoc.currency_code) : "—" }),
|
|
961
965
|
/* @__PURE__ */ jsxRuntime.jsx(icons.ArrowDownTray, { className: "w-3.5 h-3.5 text-ui-fg-subtle" })
|
|
962
966
|
] })
|
|
963
967
|
]
|
|
@@ -1070,10 +1074,7 @@ const DocumentsPage = () => {
|
|
|
1070
1074
|
children: subDoc.display_id
|
|
1071
1075
|
}
|
|
1072
1076
|
) }),
|
|
1073
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "py-2 px-3 font-semibold text-ui-fg-base", children: subDoc.total_amount != null && Number(subDoc.total_amount) > 0 ?
|
|
1074
|
-
style: "currency",
|
|
1075
|
-
currency: (subDoc.currency_code || "KES").toUpperCase()
|
|
1076
|
-
}).format(Number(subDoc.total_amount)) : "—" }),
|
|
1077
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "py-2 px-3 font-semibold text-ui-fg-base", children: subDoc.total_amount != null && Number(subDoc.total_amount) > 0 ? formatCurrency(subDoc.total_amount, subDoc.currency_code) : "—" }),
|
|
1077
1078
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "py-2 px-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1078
1079
|
ui.Badge,
|
|
1079
1080
|
{
|
|
@@ -1159,10 +1160,7 @@ const DocumentsPage = () => {
|
|
|
1159
1160
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium", children: doc.customer_name || "Guest" }),
|
|
1160
1161
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] text-ui-fg-subtle", children: doc.customer_email || doc.customer_phone || "-" })
|
|
1161
1162
|
] }) }),
|
|
1162
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold", children:
|
|
1163
|
-
style: "currency",
|
|
1164
|
-
currency: (doc.currency_code || "KES").toUpperCase()
|
|
1165
|
-
}).format(Number(doc.total_amount || 0)) }) }),
|
|
1163
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold", children: formatCurrency(doc.total_amount, doc.currency_code) }) }),
|
|
1166
1164
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Badge, { color: isPaid ? "green" : doc.payment_status === "unpaid" ? "red" : "blue", size: "small", children: doc.payment_status || doc.status }) }),
|
|
1167
1165
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Badge, { color: isZoho ? "purple" : "grey", size: "small", children: isZoho ? "Zoho Books" : "PDFKit" }) }),
|
|
1168
1166
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-ui-fg-subtle", children: new Date(doc.created_at).toLocaleDateString() }) }),
|
|
@@ -2419,10 +2417,7 @@ Your *{document_title} #{display_id}* has been generated.
|
|
|
2419
2417
|
] }),
|
|
2420
2418
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 flex flex-col items-end justify-between self-stretch", children: [
|
|
2421
2419
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { className: "text-[11px] text-ui-fg-subtle mb-0.5", children: "Row Total" }),
|
|
2422
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold text-ui-fg-base py-1", children:
|
|
2423
|
-
style: "currency",
|
|
2424
|
-
currency: (manualForm.currency_code || "KES").toUpperCase()
|
|
2425
|
-
}).format(lineTotal) }),
|
|
2420
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold text-ui-fg-base py-1", children: formatCurrency(lineTotal, manualForm.currency_code) }),
|
|
2426
2421
|
manualForm.items.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2427
2422
|
"button",
|
|
2428
2423
|
{
|
|
@@ -2464,14 +2459,12 @@ Your *{document_title} #{display_id}* has been generated.
|
|
|
2464
2459
|
),
|
|
2465
2460
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 bg-ui-bg-subtle px-4 py-2 rounded border border-ui-border-base", children: [
|
|
2466
2461
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-ui-fg-subtle font-medium", children: "Document Total:" }),
|
|
2467
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold text-ui-fg-base", children:
|
|
2468
|
-
style: "currency",
|
|
2469
|
-
currency: (manualForm.currency_code || "KES").toUpperCase()
|
|
2470
|
-
}).format(
|
|
2462
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold text-ui-fg-base", children: formatCurrency(
|
|
2471
2463
|
manualForm.items.reduce(
|
|
2472
2464
|
(sum, it) => sum + (Number(it.quantity) || 0) * (Number(it.unit_price) || 0),
|
|
2473
2465
|
0
|
|
2474
|
-
)
|
|
2466
|
+
),
|
|
2467
|
+
manualForm.currency_code
|
|
2475
2468
|
) })
|
|
2476
2469
|
] })
|
|
2477
2470
|
] })
|
|
@@ -2720,10 +2713,7 @@ Your *{document_title} #{display_id}* has been generated.
|
|
|
2720
2713
|
] }),
|
|
2721
2714
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 flex flex-col items-end justify-between self-stretch", children: [
|
|
2722
2715
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Label, { className: "text-[11px] text-ui-fg-subtle mb-0.5", children: "Row Total" }),
|
|
2723
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold text-ui-fg-base py-1", children:
|
|
2724
|
-
style: "currency",
|
|
2725
|
-
currency: (customDocForm.currency_code || "KES").toUpperCase()
|
|
2726
|
-
}).format(lineTotal) }),
|
|
2716
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold text-ui-fg-base py-1", children: formatCurrency(lineTotal, customDocForm.currency_code) }),
|
|
2727
2717
|
customDocForm.items.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2728
2718
|
"button",
|
|
2729
2719
|
{
|
|
@@ -2765,14 +2755,12 @@ Your *{document_title} #{display_id}* has been generated.
|
|
|
2765
2755
|
),
|
|
2766
2756
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 bg-ui-bg-subtle px-4 py-2 rounded border border-ui-border-base", children: [
|
|
2767
2757
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-ui-fg-subtle font-medium", children: "Document Total:" }),
|
|
2768
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold text-ui-fg-base", children:
|
|
2769
|
-
style: "currency",
|
|
2770
|
-
currency: (customDocForm.currency_code || "KES").toUpperCase()
|
|
2771
|
-
}).format(
|
|
2758
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold text-ui-fg-base", children: formatCurrency(
|
|
2772
2759
|
customDocForm.items.reduce(
|
|
2773
2760
|
(sum, it) => sum + (Number(it.quantity) || 0) * (Number(it.unit_price) || 0),
|
|
2774
2761
|
0
|
|
2775
|
-
)
|
|
2762
|
+
),
|
|
2763
|
+
customDocForm.currency_code
|
|
2776
2764
|
) })
|
|
2777
2765
|
] })
|
|
2778
2766
|
] })
|
|
@@ -63,6 +63,15 @@ function getDocTypeLabel(type) {
|
|
|
63
63
|
return type || "Document";
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
+
function formatCurrency(amount, currencyCode) {
|
|
67
|
+
const raw = (currencyCode || "kes").toLowerCase().trim();
|
|
68
|
+
const normalized = !raw || raw === "usd" ? "KES" : raw.toUpperCase();
|
|
69
|
+
const locale = normalized === "KES" ? "en-KE" : "en-US";
|
|
70
|
+
return new Intl.NumberFormat(locale, {
|
|
71
|
+
style: "currency",
|
|
72
|
+
currency: normalized
|
|
73
|
+
}).format(Number(amount) || 0);
|
|
74
|
+
}
|
|
66
75
|
function groupDocuments(documents) {
|
|
67
76
|
var _a, _b;
|
|
68
77
|
if (!documents || documents.length === 0) return [];
|
|
@@ -162,7 +171,8 @@ function groupDocuments(documents) {
|
|
|
162
171
|
const totalAmount = Number(
|
|
163
172
|
invoiceDoc && invoiceDoc.total_amount != null ? invoiceDoc.total_amount : estimateDoc && estimateDoc.total_amount != null ? estimateDoc.total_amount : receiptDoc && receiptDoc.total_amount != null ? receiptDoc.total_amount : primaryDoc.total_amount || 0
|
|
164
173
|
);
|
|
165
|
-
const
|
|
174
|
+
const rawCurrency = (primaryDoc.currency_code || (invoiceDoc == null ? void 0 : invoiceDoc.currency_code) || "kes").toLowerCase().trim();
|
|
175
|
+
const currencyCode = !rawCurrency || rawCurrency === "usd" ? "kes" : rawCurrency;
|
|
166
176
|
const uniqueTypes = Array.from(new Set(clusterDocs.map((d) => getDocTypeLabel(d.type))));
|
|
167
177
|
const includedTypesSummary = uniqueTypes.join(" • ");
|
|
168
178
|
const latestCreatedAt = clusterDocs.reduce((latest, d) => {
|
|
@@ -909,10 +919,7 @@ const DocumentsPage = () => {
|
|
|
909
919
|
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium", children: group.customerName || "Guest" }),
|
|
910
920
|
/* @__PURE__ */ jsx("span", { className: "text-[11px] text-ui-fg-subtle", children: group.customerEmail || group.customerPhone || "-" })
|
|
911
921
|
] }) }),
|
|
912
|
-
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children:
|
|
913
|
-
style: "currency",
|
|
914
|
-
currency: (group.currencyCode || "KES").toUpperCase()
|
|
915
|
-
}).format(Number(group.totalAmount || 0)) }) }),
|
|
922
|
+
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children: formatCurrency(group.totalAmount, group.currencyCode) }) }),
|
|
916
923
|
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx(Badge, { color: isPaid ? "green" : doc.payment_status === "unpaid" ? "red" : "blue", size: "small", children: doc.payment_status || doc.status }) }),
|
|
917
924
|
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx(Badge, { color: isZoho ? "purple" : "grey", size: "small", children: isZoho ? "Zoho Books" : "PDFKit" }) }),
|
|
918
925
|
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx("span", { className: "text-xs text-ui-fg-subtle", children: new Date(group.latestCreatedAt).toLocaleDateString() }) }),
|
|
@@ -953,10 +960,7 @@ const DocumentsPage = () => {
|
|
|
953
960
|
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-ui-fg-subtle", children: subDoc.display_id })
|
|
954
961
|
] }),
|
|
955
962
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
956
|
-
/* @__PURE__ */ jsx("span", { className: "text-[11px] font-semibold text-ui-fg-base", children: subDoc.total_amount != null && Number(subDoc.total_amount) > 0 ?
|
|
957
|
-
style: "currency",
|
|
958
|
-
currency: (subDoc.currency_code || "KES").toUpperCase()
|
|
959
|
-
}).format(Number(subDoc.total_amount)) : "—" }),
|
|
963
|
+
/* @__PURE__ */ jsx("span", { className: "text-[11px] font-semibold text-ui-fg-base", children: subDoc.total_amount != null && Number(subDoc.total_amount) > 0 ? formatCurrency(subDoc.total_amount, subDoc.currency_code) : "—" }),
|
|
960
964
|
/* @__PURE__ */ jsx(ArrowDownTray, { className: "w-3.5 h-3.5 text-ui-fg-subtle" })
|
|
961
965
|
] })
|
|
962
966
|
]
|
|
@@ -1069,10 +1073,7 @@ const DocumentsPage = () => {
|
|
|
1069
1073
|
children: subDoc.display_id
|
|
1070
1074
|
}
|
|
1071
1075
|
) }),
|
|
1072
|
-
/* @__PURE__ */ jsx("td", { className: "py-2 px-3 font-semibold text-ui-fg-base", children: subDoc.total_amount != null && Number(subDoc.total_amount) > 0 ?
|
|
1073
|
-
style: "currency",
|
|
1074
|
-
currency: (subDoc.currency_code || "KES").toUpperCase()
|
|
1075
|
-
}).format(Number(subDoc.total_amount)) : "—" }),
|
|
1076
|
+
/* @__PURE__ */ jsx("td", { className: "py-2 px-3 font-semibold text-ui-fg-base", children: subDoc.total_amount != null && Number(subDoc.total_amount) > 0 ? formatCurrency(subDoc.total_amount, subDoc.currency_code) : "—" }),
|
|
1076
1077
|
/* @__PURE__ */ jsx("td", { className: "py-2 px-3", children: /* @__PURE__ */ jsx(
|
|
1077
1078
|
Badge,
|
|
1078
1079
|
{
|
|
@@ -1158,10 +1159,7 @@ const DocumentsPage = () => {
|
|
|
1158
1159
|
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium", children: doc.customer_name || "Guest" }),
|
|
1159
1160
|
/* @__PURE__ */ jsx("span", { className: "text-[11px] text-ui-fg-subtle", children: doc.customer_email || doc.customer_phone || "-" })
|
|
1160
1161
|
] }) }),
|
|
1161
|
-
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children:
|
|
1162
|
-
style: "currency",
|
|
1163
|
-
currency: (doc.currency_code || "KES").toUpperCase()
|
|
1164
|
-
}).format(Number(doc.total_amount || 0)) }) }),
|
|
1162
|
+
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children: formatCurrency(doc.total_amount, doc.currency_code) }) }),
|
|
1165
1163
|
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx(Badge, { color: isPaid ? "green" : doc.payment_status === "unpaid" ? "red" : "blue", size: "small", children: doc.payment_status || doc.status }) }),
|
|
1166
1164
|
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx(Badge, { color: isZoho ? "purple" : "grey", size: "small", children: isZoho ? "Zoho Books" : "PDFKit" }) }),
|
|
1167
1165
|
/* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx("span", { className: "text-xs text-ui-fg-subtle", children: new Date(doc.created_at).toLocaleDateString() }) }),
|
|
@@ -2418,10 +2416,7 @@ Your *{document_title} #{display_id}* has been generated.
|
|
|
2418
2416
|
] }),
|
|
2419
2417
|
/* @__PURE__ */ jsxs("div", { className: "col-span-2 flex flex-col items-end justify-between self-stretch", children: [
|
|
2420
2418
|
/* @__PURE__ */ jsx(Label, { className: "text-[11px] text-ui-fg-subtle mb-0.5", children: "Row Total" }),
|
|
2421
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs font-semibold text-ui-fg-base py-1", children:
|
|
2422
|
-
style: "currency",
|
|
2423
|
-
currency: (manualForm.currency_code || "KES").toUpperCase()
|
|
2424
|
-
}).format(lineTotal) }),
|
|
2419
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs font-semibold text-ui-fg-base py-1", children: formatCurrency(lineTotal, manualForm.currency_code) }),
|
|
2425
2420
|
manualForm.items.length > 1 && /* @__PURE__ */ jsx(
|
|
2426
2421
|
"button",
|
|
2427
2422
|
{
|
|
@@ -2463,14 +2458,12 @@ Your *{document_title} #{display_id}* has been generated.
|
|
|
2463
2458
|
),
|
|
2464
2459
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 bg-ui-bg-subtle px-4 py-2 rounded border border-ui-border-base", children: [
|
|
2465
2460
|
/* @__PURE__ */ jsx("span", { className: "text-xs text-ui-fg-subtle font-medium", children: "Document Total:" }),
|
|
2466
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-ui-fg-base", children:
|
|
2467
|
-
style: "currency",
|
|
2468
|
-
currency: (manualForm.currency_code || "KES").toUpperCase()
|
|
2469
|
-
}).format(
|
|
2461
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-ui-fg-base", children: formatCurrency(
|
|
2470
2462
|
manualForm.items.reduce(
|
|
2471
2463
|
(sum, it) => sum + (Number(it.quantity) || 0) * (Number(it.unit_price) || 0),
|
|
2472
2464
|
0
|
|
2473
|
-
)
|
|
2465
|
+
),
|
|
2466
|
+
manualForm.currency_code
|
|
2474
2467
|
) })
|
|
2475
2468
|
] })
|
|
2476
2469
|
] })
|
|
@@ -2719,10 +2712,7 @@ Your *{document_title} #{display_id}* has been generated.
|
|
|
2719
2712
|
] }),
|
|
2720
2713
|
/* @__PURE__ */ jsxs("div", { className: "col-span-2 flex flex-col items-end justify-between self-stretch", children: [
|
|
2721
2714
|
/* @__PURE__ */ jsx(Label, { className: "text-[11px] text-ui-fg-subtle mb-0.5", children: "Row Total" }),
|
|
2722
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs font-semibold text-ui-fg-base py-1", children:
|
|
2723
|
-
style: "currency",
|
|
2724
|
-
currency: (customDocForm.currency_code || "KES").toUpperCase()
|
|
2725
|
-
}).format(lineTotal) }),
|
|
2715
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs font-semibold text-ui-fg-base py-1", children: formatCurrency(lineTotal, customDocForm.currency_code) }),
|
|
2726
2716
|
customDocForm.items.length > 1 && /* @__PURE__ */ jsx(
|
|
2727
2717
|
"button",
|
|
2728
2718
|
{
|
|
@@ -2764,14 +2754,12 @@ Your *{document_title} #{display_id}* has been generated.
|
|
|
2764
2754
|
),
|
|
2765
2755
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 bg-ui-bg-subtle px-4 py-2 rounded border border-ui-border-base", children: [
|
|
2766
2756
|
/* @__PURE__ */ jsx("span", { className: "text-xs text-ui-fg-subtle font-medium", children: "Document Total:" }),
|
|
2767
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-ui-fg-base", children:
|
|
2768
|
-
style: "currency",
|
|
2769
|
-
currency: (customDocForm.currency_code || "KES").toUpperCase()
|
|
2770
|
-
}).format(
|
|
2757
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-ui-fg-base", children: formatCurrency(
|
|
2771
2758
|
customDocForm.items.reduce(
|
|
2772
2759
|
(sum, it) => sum + (Number(it.quantity) || 0) * (Number(it.unit_price) || 0),
|
|
2773
2760
|
0
|
|
2774
|
-
)
|
|
2761
|
+
),
|
|
2762
|
+
customDocForm.currency_code
|
|
2775
2763
|
) })
|
|
2776
2764
|
] })
|
|
2777
2765
|
] })
|
|
@@ -19,7 +19,7 @@ exports.DocumentRecord = utils_1.model.define("document_record", {
|
|
|
19
19
|
zoho_document_id: utils_1.model.text().nullable(), // ID from Zoho Books API
|
|
20
20
|
// Financial fields
|
|
21
21
|
total_amount: utils_1.model.number().default(0),
|
|
22
|
-
currency_code: utils_1.model.text().default("
|
|
22
|
+
currency_code: utils_1.model.text().default("kes"),
|
|
23
23
|
payment_status: utils_1.model.text().default("unpaid"), // "paid" | "unpaid" | "not_applicable"
|
|
24
24
|
// Links
|
|
25
25
|
payment_link: utils_1.model.text().nullable(),
|
|
@@ -4,6 +4,7 @@ exports.extractBaseReference = extractBaseReference;
|
|
|
4
4
|
exports.getDocTypePriority = getDocTypePriority;
|
|
5
5
|
exports.getDocLifecycleOrder = getDocLifecycleOrder;
|
|
6
6
|
exports.getDocTypeLabel = getDocTypeLabel;
|
|
7
|
+
exports.formatCurrency = formatCurrency;
|
|
7
8
|
exports.groupDocuments = groupDocuments;
|
|
8
9
|
/**
|
|
9
10
|
* Extracts normalized base reference by stripping known document prefixes.
|
|
@@ -89,6 +90,19 @@ function getDocTypeLabel(type) {
|
|
|
89
90
|
return type || "Document";
|
|
90
91
|
}
|
|
91
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Formats a numeric currency amount into a localized currency string.
|
|
95
|
+
* Defaults to en-KE / KES (Ksh ... or KES ...), treating empty or legacy "usd" as "kes".
|
|
96
|
+
*/
|
|
97
|
+
function formatCurrency(amount, currencyCode) {
|
|
98
|
+
const raw = (currencyCode || "kes").toLowerCase().trim();
|
|
99
|
+
const normalized = (!raw || raw === "usd") ? "KES" : raw.toUpperCase();
|
|
100
|
+
const locale = normalized === "KES" ? "en-KE" : "en-US";
|
|
101
|
+
return new Intl.NumberFormat(locale, {
|
|
102
|
+
style: "currency",
|
|
103
|
+
currency: normalized,
|
|
104
|
+
}).format(Number(amount) || 0);
|
|
105
|
+
}
|
|
92
106
|
/**
|
|
93
107
|
* Groups related documents by job or order using a multi-tier correlation algorithm.
|
|
94
108
|
* 1. Ties documents by repair_ticket_id
|
|
@@ -202,8 +216,9 @@ function groupDocuments(documents) {
|
|
|
202
216
|
: (receiptDoc && receiptDoc.total_amount != null)
|
|
203
217
|
? receiptDoc.total_amount
|
|
204
218
|
: primaryDoc.total_amount || 0);
|
|
205
|
-
// Group currency
|
|
206
|
-
const
|
|
219
|
+
// Group currency: normalize legacy "usd" or empty to "kes"
|
|
220
|
+
const rawCurrency = (primaryDoc.currency_code || invoiceDoc?.currency_code || "kes").toLowerCase().trim();
|
|
221
|
+
const currencyCode = (!rawCurrency || rawCurrency === "usd") ? "kes" : rawCurrency;
|
|
207
222
|
// Summary of included types
|
|
208
223
|
const uniqueTypes = Array.from(new Set(clusterDocs.map((d) => getDocTypeLabel(d.type))));
|
|
209
224
|
const includedTypesSummary = uniqueTypes.join(" • ");
|
|
@@ -238,4 +253,4 @@ function groupDocuments(documents) {
|
|
|
238
253
|
groups.sort((a, b) => new Date(b.latestCreatedAt).getTime() - new Date(a.latestCreatedAt).getTime());
|
|
239
254
|
return groups;
|
|
240
255
|
}
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZ3JvdXBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9kb2N1bWVudC1ncm91cGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBaURBLG9EQU1DO0FBTUQsZ0RBaUJDO0FBTUQsb0RBaUJDO0FBS0QsMENBaUJDO0FBUUQsd0NBbUtDO0FBaFFEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxTQUFrQjtJQUNyRCxJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzFCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6Qyx3RUFBd0U7SUFDeEUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyx5Q0FBeUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRixPQUFPLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUM5QixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsSUFBYTtJQUM5QyxRQUFRLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQzVCLEtBQUssU0FBUztZQUNaLE9BQU8sR0FBRyxDQUFDLENBQUMsc0NBQXNDO1FBQ3BELEtBQUssVUFBVTtZQUNiLE9BQU8sRUFBRSxDQUFDO1FBQ1osS0FBSyxVQUFVO1lBQ2IsT0FBTyxFQUFFLENBQUM7UUFDWixLQUFLLFNBQVM7WUFDWixPQUFPLEVBQUUsQ0FBQztRQUNaLEtBQUssY0FBYztZQUNqQixPQUFPLEVBQUUsQ0FBQztRQUNaLEtBQUssUUFBUTtZQUNYLE9BQU8sRUFBRSxDQUFDO1FBQ1o7WUFDRSxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsSUFBYTtJQUNoRCxRQUFRLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQzVCLEtBQUssVUFBVTtZQUNiLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsS0FBSyxVQUFVO1lBQ2IsT0FBTyxDQUFDLENBQUM7UUFDWCxLQUFLLFNBQVM7WUFDWixPQUFPLENBQUMsQ0FBQztRQUNYLEtBQUssU0FBUztZQUNaLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsS0FBSyxjQUFjO1lBQ2pCLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsS0FBSyxRQUFRO1lBQ1gsT0FBTyxDQUFDLENBQUM7UUFDWDtZQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxJQUFhO0lBQzNDLFFBQVEsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFDNUIsS0FBSyxTQUFTO1lBQ1osT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxVQUFVO1lBQ2IsT0FBTyxPQUFPLENBQUM7UUFDakIsS0FBSyxVQUFVO1lBQ2IsT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyxTQUFTO1lBQ1osT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxjQUFjO1lBQ2pCLE9BQU8sY0FBYyxDQUFDO1FBQ3hCLEtBQUssUUFBUTtZQUNYLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCO1lBQ0UsT0FBTyxJQUFJLElBQUksVUFBVSxDQUFDO0lBQzlCLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixjQUFjLENBQUMsU0FBMkI7SUFDeEQsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUVwRCw0RUFBNEU7SUFDNUUsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFFekMsU0FBUyxJQUFJLENBQUMsQ0FBUztRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFNBQVMsS0FBSyxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDcEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCwrQkFBK0I7SUFDL0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7SUFFNUMsS0FBSyxNQUFNLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksR0FBYSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFekMsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckQsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxnRUFBZ0U7WUFDaEUsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLENBQUM7aUJBQU0sQ0FBQztnQkFDTix5RUFBeUU7Z0JBQ3pFLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxHQUFHLENBQUMsY0FBYyxJQUFJLEdBQUcsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzNHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxPQUFPLENBQUMsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTFCLDJDQUEyQztRQUMzQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNyQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFDO0lBQzlDLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUM5QyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1QyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDN0MsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sU0FBUyxHQUFHLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdkMsS0FBSyxDQUFDLFNBQVMsRUFBRSxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO0lBQ3JELEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixNQUFNLE1BQU0sR0FBb0IsRUFBRSxDQUFDO0lBRW5DLEtBQUssTUFBTSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUMxRCwwR0FBMEc7UUFDMUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4QixNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVDLElBQUksTUFBTSxLQUFLLE1BQU07Z0JBQUUsT0FBTyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQzlDLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3RSxDQUFDLENBQUMsQ0FBQztRQUVILDBGQUEwRjtRQUMxRixJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFckIsS0FBSyxNQUFNLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLEdBQUcsV0FBVyxFQUFFLENBQUM7Z0JBQ3BCLFdBQVcsR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBRWhGLDJHQUEyRztRQUMzRyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDbEYsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUVoRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQ3hCLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDO1lBQzdDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWTtZQUN6QixDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUM7Z0JBQ25ELENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWTtnQkFDMUIsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDO29CQUNqRCxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVk7b0JBQ3pCLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FDakMsQ0FBQztRQUVGLGlCQUFpQjtRQUNqQixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsYUFBYSxJQUFJLFVBQVUsRUFBRSxhQUFhLElBQUksS0FBSyxDQUFDO1FBRXBGLDRCQUE0QjtRQUM1QixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekYsTUFBTSxvQkFBb0IsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJELDhCQUE4QjtRQUM5QixNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZELE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDM0UsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5QixnQ0FBZ0M7UUFDaEMsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUNyQyxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2hDLFFBQVEsR0FBRyxVQUFVLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxDQUFDO2FBQU0sSUFBSSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0IsUUFBUSxHQUFHLFVBQVUsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQy9DLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ1YsT0FBTyxFQUFFLFNBQVM7WUFDbEIsUUFBUTtZQUNSLFVBQVU7WUFDVixTQUFTLEVBQUUsV0FBVztZQUN0QixVQUFVO1lBQ1YsV0FBVztZQUNYLFlBQVk7WUFDWixZQUFZLEVBQUUsVUFBVSxDQUFDLGFBQWEsSUFBSSxpQkFBaUI7WUFDM0QsYUFBYSxFQUFFLFVBQVUsQ0FBQyxjQUFjLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLGNBQWM7WUFDckcsYUFBYSxFQUFFLFVBQVUsQ0FBQyxjQUFjLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLGNBQWM7WUFDckcsZUFBZTtZQUNmLG9CQUFvQjtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQscURBQXFEO0lBQ3JELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFckcsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyJ9
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZ3JvdXBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9kb2N1bWVudC1ncm91cGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBaURBLG9EQU1DO0FBTUQsZ0RBaUJDO0FBTUQsb0RBaUJDO0FBS0QsMENBaUJDO0FBTUQsd0NBUUM7QUFRRCx3Q0FvS0M7QUEvUUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLFNBQWtCO0lBQ3JELElBQUksQ0FBQyxTQUFTO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDMUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLHdFQUF3RTtJQUN4RSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzlCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxJQUFhO0lBQzlDLFFBQVEsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFDNUIsS0FBSyxTQUFTO1lBQ1osT0FBTyxHQUFHLENBQUMsQ0FBQyxzQ0FBc0M7UUFDcEQsS0FBSyxVQUFVO1lBQ2IsT0FBTyxFQUFFLENBQUM7UUFDWixLQUFLLFVBQVU7WUFDYixPQUFPLEVBQUUsQ0FBQztRQUNaLEtBQUssU0FBUztZQUNaLE9BQU8sRUFBRSxDQUFDO1FBQ1osS0FBSyxjQUFjO1lBQ2pCLE9BQU8sRUFBRSxDQUFDO1FBQ1osS0FBSyxRQUFRO1lBQ1gsT0FBTyxFQUFFLENBQUM7UUFDWjtZQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxJQUFhO0lBQ2hELFFBQVEsSUFBSSxFQUFF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QUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2RCxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzNFLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUIsZ0NBQWdDO1FBQ2hDLElBQUksUUFBUSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDckMsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNoQyxRQUFRLEdBQUcsVUFBVSxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0MsQ0FBQzthQUFNLElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9CLFFBQVEsR0FBRyxVQUFVLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxDQUFDO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNWLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFFBQVE7WUFDUixVQUFVO1lBQ1YsU0FBUyxFQUFFLFdBQVc7WUFDdEIsVUFBVTtZQUNWLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWSxFQUFFLFVBQVUsQ0FBQyxhQUFhLElBQUksaUJBQWlCO1lBQzNELGFBQWEsRUFBRSxVQUFVLENBQUMsY0FBYyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxjQUFjO1lBQ3JHLGFBQWEsRUFBRSxVQUFVLENBQUMsY0FBYyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxjQUFjO1lBQ3JHLGVBQWU7WUFDZixvQkFBb0I7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRXJHLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMifQ==
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [1.1.19] - 2026-10-17
|
|
11
|
+
|
|
12
|
+
### Localized Currency Normalization & KES Formatting
|
|
13
|
+
- **Document Record Currency Default**: Updated default currency to `kes` in `DocumentRecord` model.
|
|
14
|
+
- **Document Grouper Currency Normalization**: Fallback normalizes legacy `"usd"` or empty currency codes to `"kes"` so grouped packs consistently format in KES.
|
|
15
|
+
- **Admin Hub Currency Formatting**: Introduced `formatCurrency` helper across all Admin Hub views (master packed rows, related docs dropdown, accordion sub-tables, flat list, and creation modals), defaulting to `en-KE` / `KES` (`KSh ...`) and preventing unwanted dollar (`$`) rendering.
|
|
16
|
+
|
|
10
17
|
## [1.1.17] - 2026-10-16
|
|
11
18
|
|
|
12
19
|
### Seamless Zoho Books Credentials Inheritance
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "medusajs-documents-plugin",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.19",
|
|
4
4
|
"description": "Comprehensive document generation and management module for Medusa v2 with Zoho Books integration, PDFKit fallback, QR codes, shortlinks, multi-channel notifications and unified admin hub.",
|
|
5
5
|
"author": "Urban Device Care <info@urbandevicecare.co.uk>",
|
|
6
6
|
"license": "MIT",
|