@voyantjs/finance 0.75.5 → 0.75.7
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.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/routes-public.d.ts +6 -6
- package/dist/routes-settlement.d.ts +1 -1
- package/dist/routes.d.ts +30 -9
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +34 -25
- package/dist/schema.d.ts +54 -3
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +9 -0
- package/dist/service-issue.d.ts +7 -2
- package/dist/service-issue.d.ts.map +1 -1
- package/dist/service-issue.js +19 -3
- package/dist/service.d.ts +129 -7
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +167 -28
- package/dist/validation-billing.d.ts +12 -1
- package/dist/validation-billing.d.ts.map +1 -1
- package/dist/validation-billing.js +5 -1
- package/dist/validation-public.d.ts +3 -0
- package/dist/validation-public.d.ts.map +1 -1
- package/dist/validation-public.js +9 -1
- package/dist/validation-shared.d.ts +3 -1
- package/dist/validation-shared.d.ts.map +1 -1
- package/dist/validation-shared.js +1 -0
- package/package.json +9 -9
package/dist/service-issue.js
CHANGED
|
@@ -2,7 +2,7 @@ import { appendActionLedgerMutation, } from "@voyantjs/action-ledger";
|
|
|
2
2
|
import { bookings } from "@voyantjs/bookings/schema";
|
|
3
3
|
import { asc, eq } from "drizzle-orm";
|
|
4
4
|
import { resolveInvoiceFxContext } from "./invoice-fx.js";
|
|
5
|
-
import { invoiceLineItems, invoices, payments } from "./schema.js";
|
|
5
|
+
import { invoiceLineItems, invoiceNumberSeries, invoices, payments } from "./schema.js";
|
|
6
6
|
import { buildInvoiceIssuedActionLedgerInput, financeService, } from "./service.js";
|
|
7
7
|
const ISSUED_EVENT = "invoice.issued";
|
|
8
8
|
const PROFORMA_ISSUED_EVENT = "invoice.proforma.issued";
|
|
@@ -16,9 +16,10 @@ export async function issueInvoiceFromBooking(db, input, bookingData, runtime =
|
|
|
16
16
|
const draft = await financeService.createInvoiceFromBooking(db, input, bookingData);
|
|
17
17
|
if (!draft)
|
|
18
18
|
return null;
|
|
19
|
+
const status = draft.status === "pending_external_allocation" ? draft.status : "sent";
|
|
19
20
|
const updateIssuedInvoice = (writer) => writer
|
|
20
21
|
.update(invoices)
|
|
21
|
-
.set({ status
|
|
22
|
+
.set({ status, updatedAt: new Date() })
|
|
22
23
|
.where(eq(invoices.id, draft.id))
|
|
23
24
|
.returning();
|
|
24
25
|
const actionLedgerContext = runtime.actionLedgerContext;
|
|
@@ -45,9 +46,10 @@ export async function issueProformaFromBooking(db, input, bookingData, runtime =
|
|
|
45
46
|
const draft = await financeService.createInvoiceFromBooking(db, input, bookingData);
|
|
46
47
|
if (!draft)
|
|
47
48
|
return null;
|
|
49
|
+
const status = draft.status === "pending_external_allocation" ? draft.status : "sent";
|
|
48
50
|
const updateIssuedInvoice = (writer) => writer
|
|
49
51
|
.update(invoices)
|
|
50
|
-
.set({ invoiceType: "proforma", status
|
|
52
|
+
.set({ invoiceType: "proforma", status, updatedAt: new Date() })
|
|
51
53
|
.where(eq(invoices.id, draft.id))
|
|
52
54
|
.returning();
|
|
53
55
|
const actionLedgerContext = runtime.actionLedgerContext;
|
|
@@ -70,6 +72,13 @@ async function emitIssued(db, runtime, eventName, invoice) {
|
|
|
70
72
|
const [booking] = invoice.bookingId
|
|
71
73
|
? await db.select().from(bookings).where(eq(bookings.id, invoice.bookingId)).limit(1)
|
|
72
74
|
: [];
|
|
75
|
+
const [series] = invoice.seriesId && invoice.status === "pending_external_allocation"
|
|
76
|
+
? await db
|
|
77
|
+
.select()
|
|
78
|
+
.from(invoiceNumberSeries)
|
|
79
|
+
.where(eq(invoiceNumberSeries.id, invoice.seriesId))
|
|
80
|
+
.limit(1)
|
|
81
|
+
: [];
|
|
73
82
|
const lines = await db
|
|
74
83
|
.select()
|
|
75
84
|
.from(invoiceLineItems)
|
|
@@ -104,6 +113,13 @@ async function emitIssued(db, runtime, eventName, invoice) {
|
|
|
104
113
|
issueDate: toDateString(invoice.issueDate),
|
|
105
114
|
dueDate: toDateString(invoice.dueDate),
|
|
106
115
|
};
|
|
116
|
+
if (series?.externalProvider) {
|
|
117
|
+
payload.externalAllocationRequired = true;
|
|
118
|
+
payload.externalProvider = series.externalProvider;
|
|
119
|
+
payload.externalConfigKey = series.externalConfigKey;
|
|
120
|
+
payload.externalSeriesId = series.id;
|
|
121
|
+
payload.externalPlaceholderNumber = invoice.invoiceNumber;
|
|
122
|
+
}
|
|
107
123
|
const fx = await resolveInvoiceFxContext(db, invoice, runtime);
|
|
108
124
|
if (fx)
|
|
109
125
|
Object.assign(payload, fx);
|
package/dist/service.d.ts
CHANGED
|
@@ -113,6 +113,17 @@ type CreatePaymentSessionFromScheduleInput = z.infer<typeof createPaymentSession
|
|
|
113
113
|
type CreatePaymentSessionFromGuaranteeInput = z.infer<typeof createPaymentSessionFromGuaranteeSchema>;
|
|
114
114
|
type CreatePaymentSessionFromInvoiceInput = z.infer<typeof createPaymentSessionFromInvoiceSchema>;
|
|
115
115
|
type ApplyDefaultBookingPaymentPlanInput = z.infer<typeof applyDefaultBookingPaymentPlanSchema>;
|
|
116
|
+
type InvoiceNumberScope = "invoice" | "proforma";
|
|
117
|
+
type InvoiceNumberAllocationErrorCode = "invoice_number_series_not_found" | "invoice_number_series_inactive" | "invoice_number_series_scope_mismatch" | "no_active_series_for_scope";
|
|
118
|
+
export declare class InvoiceNumberAllocationError extends Error {
|
|
119
|
+
readonly code: InvoiceNumberAllocationErrorCode;
|
|
120
|
+
readonly scope: InvoiceNumberScope;
|
|
121
|
+
readonly seriesId?: string;
|
|
122
|
+
constructor(code: InvoiceNumberAllocationErrorCode, details: {
|
|
123
|
+
scope: InvoiceNumberScope;
|
|
124
|
+
seriesId?: string;
|
|
125
|
+
});
|
|
126
|
+
}
|
|
116
127
|
/** Booking data needed for createInvoiceFromBooking — supplied by the caller (template). */
|
|
117
128
|
export interface InvoiceFromBookingData {
|
|
118
129
|
booking: {
|
|
@@ -3471,7 +3482,7 @@ export declare const financeService: {
|
|
|
3471
3482
|
bookingId: string;
|
|
3472
3483
|
personId: string | null;
|
|
3473
3484
|
organizationId: string | null;
|
|
3474
|
-
status: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
3485
|
+
status: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
3475
3486
|
currency: string;
|
|
3476
3487
|
baseCurrency: string | null;
|
|
3477
3488
|
fxRateSetId: string | null;
|
|
@@ -3499,7 +3510,7 @@ export declare const financeService: {
|
|
|
3499
3510
|
}>;
|
|
3500
3511
|
createInvoice(db: PostgresJsDatabase, data: CreateInvoiceInput): Promise<{
|
|
3501
3512
|
id: string;
|
|
3502
|
-
status: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
3513
|
+
status: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
3503
3514
|
organizationId: string | null;
|
|
3504
3515
|
createdAt: Date;
|
|
3505
3516
|
currency: string;
|
|
@@ -3534,7 +3545,7 @@ export declare const financeService: {
|
|
|
3534
3545
|
} | undefined>;
|
|
3535
3546
|
createInvoiceFromBooking(db: PostgresJsDatabase, data: CreateInvoiceFromBookingInput, bookingData: InvoiceFromBookingData): Promise<{
|
|
3536
3547
|
id: string;
|
|
3537
|
-
status: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
3548
|
+
status: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
3538
3549
|
organizationId: string | null;
|
|
3539
3550
|
createdAt: Date;
|
|
3540
3551
|
currency: string;
|
|
@@ -3580,7 +3591,7 @@ export declare const financeService: {
|
|
|
3580
3591
|
bookingId: string;
|
|
3581
3592
|
personId: string | null;
|
|
3582
3593
|
organizationId: string | null;
|
|
3583
|
-
status: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
3594
|
+
status: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
3584
3595
|
currency: string;
|
|
3585
3596
|
baseCurrency: string | null;
|
|
3586
3597
|
fxRateSetId: string | null;
|
|
@@ -3615,7 +3626,7 @@ export declare const financeService: {
|
|
|
3615
3626
|
bookingId: string;
|
|
3616
3627
|
personId: string | null;
|
|
3617
3628
|
organizationId: string | null;
|
|
3618
|
-
status: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
3629
|
+
status: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
3619
3630
|
currency: string;
|
|
3620
3631
|
baseCurrency: string | null;
|
|
3621
3632
|
fxRateSetId: string | null;
|
|
@@ -5646,6 +5657,9 @@ export declare const financeService: {
|
|
|
5646
5657
|
resetStrategy: "never" | "annual" | "monthly";
|
|
5647
5658
|
resetAt: Date | null;
|
|
5648
5659
|
scope: "invoice" | "proforma" | "credit_note";
|
|
5660
|
+
isDefault: boolean;
|
|
5661
|
+
externalProvider: string | null;
|
|
5662
|
+
externalConfigKey: string | null;
|
|
5649
5663
|
active: boolean;
|
|
5650
5664
|
createdAt: Date;
|
|
5651
5665
|
updatedAt: Date;
|
|
@@ -5665,6 +5679,27 @@ export declare const financeService: {
|
|
|
5665
5679
|
resetStrategy: "never" | "annual" | "monthly";
|
|
5666
5680
|
resetAt: Date | null;
|
|
5667
5681
|
scope: "invoice" | "proforma" | "credit_note";
|
|
5682
|
+
isDefault: boolean;
|
|
5683
|
+
externalProvider: string | null;
|
|
5684
|
+
externalConfigKey: string | null;
|
|
5685
|
+
active: boolean;
|
|
5686
|
+
createdAt: Date;
|
|
5687
|
+
updatedAt: Date;
|
|
5688
|
+
} | null>;
|
|
5689
|
+
resolveDefaultInvoiceNumberSeries(db: PostgresJsDatabase, scope: InvoiceNumberScope): Promise<{
|
|
5690
|
+
id: string;
|
|
5691
|
+
code: string;
|
|
5692
|
+
name: string;
|
|
5693
|
+
prefix: string;
|
|
5694
|
+
separator: string;
|
|
5695
|
+
padLength: number;
|
|
5696
|
+
currentSequence: number;
|
|
5697
|
+
resetStrategy: "never" | "annual" | "monthly";
|
|
5698
|
+
resetAt: Date | null;
|
|
5699
|
+
scope: "invoice" | "proforma" | "credit_note";
|
|
5700
|
+
isDefault: boolean;
|
|
5701
|
+
externalProvider: string | null;
|
|
5702
|
+
externalConfigKey: string | null;
|
|
5668
5703
|
active: boolean;
|
|
5669
5704
|
createdAt: Date;
|
|
5670
5705
|
updatedAt: Date;
|
|
@@ -5683,6 +5718,9 @@ export declare const financeService: {
|
|
|
5683
5718
|
currentSequence: number;
|
|
5684
5719
|
resetStrategy: "never" | "annual" | "monthly";
|
|
5685
5720
|
resetAt: Date | null;
|
|
5721
|
+
isDefault: boolean;
|
|
5722
|
+
externalProvider: string | null;
|
|
5723
|
+
externalConfigKey: string | null;
|
|
5686
5724
|
} | null>;
|
|
5687
5725
|
updateInvoiceNumberSeries(db: PostgresJsDatabase, id: string, data: UpdateInvoiceNumberSeriesInput): Promise<{
|
|
5688
5726
|
id: string;
|
|
@@ -5695,6 +5733,9 @@ export declare const financeService: {
|
|
|
5695
5733
|
resetStrategy: "never" | "annual" | "monthly";
|
|
5696
5734
|
resetAt: Date | null;
|
|
5697
5735
|
scope: "invoice" | "proforma" | "credit_note";
|
|
5736
|
+
isDefault: boolean;
|
|
5737
|
+
externalProvider: string | null;
|
|
5738
|
+
externalConfigKey: string | null;
|
|
5698
5739
|
active: boolean;
|
|
5699
5740
|
createdAt: Date;
|
|
5700
5741
|
updatedAt: Date;
|
|
@@ -5724,6 +5765,87 @@ export declare const financeService: {
|
|
|
5724
5765
|
sequence: number;
|
|
5725
5766
|
formattedNumber: string;
|
|
5726
5767
|
}>;
|
|
5768
|
+
applyExternalInvoiceAllocation(db: PostgresJsDatabase, invoiceId: string, data: {
|
|
5769
|
+
invoiceNumber: string;
|
|
5770
|
+
status?: "sent" | "draft";
|
|
5771
|
+
}): Promise<{
|
|
5772
|
+
status: "not_found";
|
|
5773
|
+
invoice?: undefined;
|
|
5774
|
+
} | {
|
|
5775
|
+
status: "not_pending_external_allocation";
|
|
5776
|
+
invoice: {
|
|
5777
|
+
id: string;
|
|
5778
|
+
invoiceNumber: string;
|
|
5779
|
+
invoiceType: "invoice" | "proforma" | "credit_note";
|
|
5780
|
+
convertedFromInvoiceId: string | null;
|
|
5781
|
+
seriesId: string | null;
|
|
5782
|
+
sequence: number | null;
|
|
5783
|
+
templateId: string | null;
|
|
5784
|
+
taxRegimeId: string | null;
|
|
5785
|
+
language: string | null;
|
|
5786
|
+
bookingId: string;
|
|
5787
|
+
personId: string | null;
|
|
5788
|
+
organizationId: string | null;
|
|
5789
|
+
status: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
5790
|
+
currency: string;
|
|
5791
|
+
baseCurrency: string | null;
|
|
5792
|
+
fxRateSetId: string | null;
|
|
5793
|
+
subtotalCents: number;
|
|
5794
|
+
baseSubtotalCents: number | null;
|
|
5795
|
+
taxCents: number;
|
|
5796
|
+
baseTaxCents: number | null;
|
|
5797
|
+
totalCents: number;
|
|
5798
|
+
baseTotalCents: number | null;
|
|
5799
|
+
paidCents: number;
|
|
5800
|
+
basePaidCents: number | null;
|
|
5801
|
+
balanceDueCents: number;
|
|
5802
|
+
baseBalanceDueCents: number | null;
|
|
5803
|
+
commissionPercent: number | null;
|
|
5804
|
+
commissionAmountCents: number | null;
|
|
5805
|
+
issueDate: string;
|
|
5806
|
+
dueDate: string;
|
|
5807
|
+
notes: string | null;
|
|
5808
|
+
createdAt: Date;
|
|
5809
|
+
updatedAt: Date;
|
|
5810
|
+
};
|
|
5811
|
+
} | {
|
|
5812
|
+
status: "applied";
|
|
5813
|
+
invoice: {
|
|
5814
|
+
id: string;
|
|
5815
|
+
invoiceNumber: string;
|
|
5816
|
+
invoiceType: "invoice" | "proforma" | "credit_note";
|
|
5817
|
+
convertedFromInvoiceId: string | null;
|
|
5818
|
+
seriesId: string | null;
|
|
5819
|
+
sequence: number | null;
|
|
5820
|
+
templateId: string | null;
|
|
5821
|
+
taxRegimeId: string | null;
|
|
5822
|
+
language: string | null;
|
|
5823
|
+
bookingId: string;
|
|
5824
|
+
personId: string | null;
|
|
5825
|
+
organizationId: string | null;
|
|
5826
|
+
status: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
5827
|
+
currency: string;
|
|
5828
|
+
baseCurrency: string | null;
|
|
5829
|
+
fxRateSetId: string | null;
|
|
5830
|
+
subtotalCents: number;
|
|
5831
|
+
baseSubtotalCents: number | null;
|
|
5832
|
+
taxCents: number;
|
|
5833
|
+
baseTaxCents: number | null;
|
|
5834
|
+
totalCents: number;
|
|
5835
|
+
baseTotalCents: number | null;
|
|
5836
|
+
paidCents: number;
|
|
5837
|
+
basePaidCents: number | null;
|
|
5838
|
+
balanceDueCents: number;
|
|
5839
|
+
baseBalanceDueCents: number | null;
|
|
5840
|
+
commissionPercent: number | null;
|
|
5841
|
+
commissionAmountCents: number | null;
|
|
5842
|
+
issueDate: string;
|
|
5843
|
+
dueDate: string;
|
|
5844
|
+
notes: string | null;
|
|
5845
|
+
createdAt: Date;
|
|
5846
|
+
updatedAt: Date;
|
|
5847
|
+
};
|
|
5848
|
+
}>;
|
|
5727
5849
|
listInvoiceTemplates(db: PostgresJsDatabase, query: InvoiceTemplateListQuery): Promise<{
|
|
5728
5850
|
data: {
|
|
5729
5851
|
id: string;
|
|
@@ -5768,11 +5890,11 @@ export declare const financeService: {
|
|
|
5768
5890
|
metadata: unknown;
|
|
5769
5891
|
language: string;
|
|
5770
5892
|
jurisdiction: string | null;
|
|
5893
|
+
isDefault: boolean;
|
|
5771
5894
|
slug: string;
|
|
5772
5895
|
bodyFormat: "html" | "markdown" | "lexical_json";
|
|
5773
5896
|
body: string;
|
|
5774
5897
|
cssStyles: string | null;
|
|
5775
|
-
isDefault: boolean;
|
|
5776
5898
|
} | null>;
|
|
5777
5899
|
updateInvoiceTemplate(db: PostgresJsDatabase, id: string, data: UpdateInvoiceTemplateInput): Promise<{
|
|
5778
5900
|
id: string;
|
|
@@ -5864,7 +5986,7 @@ export declare const financeService: {
|
|
|
5864
5986
|
status: "bound";
|
|
5865
5987
|
invoice: {
|
|
5866
5988
|
id: string;
|
|
5867
|
-
status: "draft" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
5989
|
+
status: "draft" | "pending_external_allocation" | "sent" | "partially_paid" | "paid" | "overdue" | "void";
|
|
5868
5990
|
invoiceType: "invoice" | "proforma" | "credit_note";
|
|
5869
5991
|
};
|
|
5870
5992
|
rendition: {
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/service.js
CHANGED
|
@@ -17,6 +17,18 @@ export class PaymentValidationError extends Error {
|
|
|
17
17
|
this.details = details;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
+
export class InvoiceNumberAllocationError extends Error {
|
|
21
|
+
code;
|
|
22
|
+
scope;
|
|
23
|
+
seriesId;
|
|
24
|
+
constructor(code, details) {
|
|
25
|
+
super(code);
|
|
26
|
+
this.name = "InvoiceNumberAllocationError";
|
|
27
|
+
this.code = code;
|
|
28
|
+
this.scope = details.scope;
|
|
29
|
+
this.seriesId = details.seriesId;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
20
32
|
function bookingItemToInvoiceLine(item, taxes, sortOrder) {
|
|
21
33
|
const quantity = Math.max(item.quantity, 1);
|
|
22
34
|
const totalCents = item.totalSellAmountCents ?? (item.unitSellAmountCents ?? 0) * Math.max(item.quantity, 1);
|
|
@@ -105,6 +117,72 @@ function formatNumber(prefix, separator, padLength, sequence) {
|
|
|
105
117
|
const padded = String(sequence).padStart(padLength, "0");
|
|
106
118
|
return `${prefix}${separator}${padded}`;
|
|
107
119
|
}
|
|
120
|
+
function invoiceScopeForType(invoiceType) {
|
|
121
|
+
return invoiceType === "proforma" ? "proforma" : "invoice";
|
|
122
|
+
}
|
|
123
|
+
function pendingExternalInvoiceNumber(scope) {
|
|
124
|
+
const uuid = globalThis.crypto?.randomUUID?.().replace(/-/g, "") ?? randomId();
|
|
125
|
+
return `PENDING-${scope.toUpperCase()}-${uuid.slice(0, 32)}`;
|
|
126
|
+
}
|
|
127
|
+
function randomId() {
|
|
128
|
+
return `${Date.now().toString(36)}${Math.random().toString(36).slice(2)}`.padEnd(32, "0");
|
|
129
|
+
}
|
|
130
|
+
async function resolveInvoiceNumberForBooking(db, data) {
|
|
131
|
+
const scope = invoiceScopeForType(data.invoiceType);
|
|
132
|
+
if (data.invoiceNumber) {
|
|
133
|
+
return {
|
|
134
|
+
invoiceNumber: data.invoiceNumber,
|
|
135
|
+
seriesId: data.seriesId ?? null,
|
|
136
|
+
sequence: null,
|
|
137
|
+
status: "draft",
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
const series = data.seriesId
|
|
141
|
+
? await financeService.getInvoiceNumberSeriesById(db, data.seriesId)
|
|
142
|
+
: await financeService.resolveDefaultInvoiceNumberSeries(db, scope);
|
|
143
|
+
if (!series) {
|
|
144
|
+
throw new InvoiceNumberAllocationError(data.seriesId ? "invoice_number_series_not_found" : "no_active_series_for_scope", { scope, seriesId: data.seriesId });
|
|
145
|
+
}
|
|
146
|
+
if (!series.active) {
|
|
147
|
+
throw new InvoiceNumberAllocationError("invoice_number_series_inactive", {
|
|
148
|
+
scope,
|
|
149
|
+
seriesId: series.id,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
if (series.scope !== scope) {
|
|
153
|
+
throw new InvoiceNumberAllocationError("invoice_number_series_scope_mismatch", {
|
|
154
|
+
scope,
|
|
155
|
+
seriesId: series.id,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
if (series.externalProvider) {
|
|
159
|
+
return {
|
|
160
|
+
invoiceNumber: pendingExternalInvoiceNumber(scope),
|
|
161
|
+
seriesId: series.id,
|
|
162
|
+
sequence: null,
|
|
163
|
+
status: "pending_external_allocation",
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
const allocated = await financeService.allocateInvoiceNumber(db, series.id);
|
|
167
|
+
if (allocated.status === "not_found") {
|
|
168
|
+
throw new InvoiceNumberAllocationError("invoice_number_series_not_found", {
|
|
169
|
+
scope,
|
|
170
|
+
seriesId: series.id,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
if (allocated.status === "inactive") {
|
|
174
|
+
throw new InvoiceNumberAllocationError("invoice_number_series_inactive", {
|
|
175
|
+
scope,
|
|
176
|
+
seriesId: series.id,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
invoiceNumber: allocated.formattedNumber,
|
|
181
|
+
seriesId: allocated.seriesId,
|
|
182
|
+
sequence: allocated.sequence,
|
|
183
|
+
status: "draft",
|
|
184
|
+
};
|
|
185
|
+
}
|
|
108
186
|
export function renderInvoiceBody(body, bodyFormat, variables) {
|
|
109
187
|
return renderStructuredTemplate(body, bodyFormat, variables);
|
|
110
188
|
}
|
|
@@ -1846,6 +1924,7 @@ export const financeService = {
|
|
|
1846
1924
|
},
|
|
1847
1925
|
async createInvoiceFromBooking(db, data, bookingData) {
|
|
1848
1926
|
const { booking, items } = bookingData;
|
|
1927
|
+
const numberAssignment = await resolveInvoiceNumberForBooking(db, data);
|
|
1849
1928
|
const itemIds = items.map((item) => item.id);
|
|
1850
1929
|
const taxes = itemIds.length === 0
|
|
1851
1930
|
? []
|
|
@@ -1907,12 +1986,14 @@ export const financeService = {
|
|
|
1907
1986
|
const [invoice] = await tx
|
|
1908
1987
|
.insert(invoices)
|
|
1909
1988
|
.values({
|
|
1910
|
-
invoiceNumber:
|
|
1989
|
+
invoiceNumber: numberAssignment.invoiceNumber,
|
|
1911
1990
|
invoiceType: data.invoiceType,
|
|
1991
|
+
seriesId: numberAssignment.seriesId,
|
|
1992
|
+
sequence: numberAssignment.sequence,
|
|
1912
1993
|
bookingId: booking.id,
|
|
1913
1994
|
personId: booking.personId,
|
|
1914
1995
|
organizationId: booking.organizationId,
|
|
1915
|
-
status:
|
|
1996
|
+
status: numberAssignment.status,
|
|
1916
1997
|
currency: booking.sellCurrency,
|
|
1917
1998
|
baseCurrency: booking.baseCurrency,
|
|
1918
1999
|
fxRateSetId: booking.fxRateSetId,
|
|
@@ -2534,36 +2615,76 @@ export const financeService = {
|
|
|
2534
2615
|
.limit(1);
|
|
2535
2616
|
return row ?? null;
|
|
2536
2617
|
},
|
|
2537
|
-
async
|
|
2618
|
+
async resolveDefaultInvoiceNumberSeries(db, scope) {
|
|
2538
2619
|
const [row] = await db
|
|
2539
|
-
.
|
|
2540
|
-
.
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
separator: data.separator,
|
|
2545
|
-
padLength: data.padLength,
|
|
2546
|
-
currentSequence: data.currentSequence,
|
|
2547
|
-
resetStrategy: data.resetStrategy,
|
|
2548
|
-
resetAt: toTimestamp(data.resetAt),
|
|
2549
|
-
scope: data.scope,
|
|
2550
|
-
active: data.active,
|
|
2551
|
-
})
|
|
2552
|
-
.returning();
|
|
2620
|
+
.select()
|
|
2621
|
+
.from(invoiceNumberSeries)
|
|
2622
|
+
.where(and(eq(invoiceNumberSeries.scope, scope), eq(invoiceNumberSeries.active, true)))
|
|
2623
|
+
.orderBy(desc(invoiceNumberSeries.isDefault), desc(invoiceNumberSeries.updatedAt), desc(invoiceNumberSeries.createdAt))
|
|
2624
|
+
.limit(1);
|
|
2553
2625
|
return row ?? null;
|
|
2554
2626
|
},
|
|
2627
|
+
async createInvoiceNumberSeries(db, data) {
|
|
2628
|
+
return db.transaction(async (tx) => {
|
|
2629
|
+
const isDefault = data.active === false ? false : data.isDefault;
|
|
2630
|
+
if (isDefault) {
|
|
2631
|
+
await tx
|
|
2632
|
+
.update(invoiceNumberSeries)
|
|
2633
|
+
.set({ isDefault: false, updatedAt: new Date() })
|
|
2634
|
+
.where(eq(invoiceNumberSeries.scope, data.scope));
|
|
2635
|
+
}
|
|
2636
|
+
const [row] = await tx
|
|
2637
|
+
.insert(invoiceNumberSeries)
|
|
2638
|
+
.values({
|
|
2639
|
+
code: data.code,
|
|
2640
|
+
name: data.name,
|
|
2641
|
+
prefix: data.prefix,
|
|
2642
|
+
separator: data.separator,
|
|
2643
|
+
padLength: data.padLength,
|
|
2644
|
+
currentSequence: data.currentSequence,
|
|
2645
|
+
resetStrategy: data.resetStrategy,
|
|
2646
|
+
resetAt: toTimestamp(data.resetAt),
|
|
2647
|
+
scope: data.scope,
|
|
2648
|
+
isDefault,
|
|
2649
|
+
externalProvider: data.externalProvider ?? null,
|
|
2650
|
+
externalConfigKey: data.externalConfigKey ?? null,
|
|
2651
|
+
active: data.active,
|
|
2652
|
+
})
|
|
2653
|
+
.returning();
|
|
2654
|
+
return row ?? null;
|
|
2655
|
+
});
|
|
2656
|
+
},
|
|
2555
2657
|
async updateInvoiceNumberSeries(db, id, data) {
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
.
|
|
2566
|
-
|
|
2658
|
+
return db.transaction(async (tx) => {
|
|
2659
|
+
const [existing] = await tx
|
|
2660
|
+
.select()
|
|
2661
|
+
.from(invoiceNumberSeries)
|
|
2662
|
+
.where(eq(invoiceNumberSeries.id, id))
|
|
2663
|
+
.limit(1);
|
|
2664
|
+
if (!existing)
|
|
2665
|
+
return null;
|
|
2666
|
+
const { resetAt, ...rest } = data;
|
|
2667
|
+
const nextScope = rest.scope ?? existing.scope;
|
|
2668
|
+
const nextActive = rest.active ?? existing.active;
|
|
2669
|
+
const nextIsDefault = nextActive === false ? false : (rest.isDefault ?? existing.isDefault);
|
|
2670
|
+
if (nextIsDefault) {
|
|
2671
|
+
await tx
|
|
2672
|
+
.update(invoiceNumberSeries)
|
|
2673
|
+
.set({ isDefault: false, updatedAt: new Date() })
|
|
2674
|
+
.where(and(eq(invoiceNumberSeries.scope, nextScope), ne(invoiceNumberSeries.id, id)));
|
|
2675
|
+
}
|
|
2676
|
+
const [row] = await tx
|
|
2677
|
+
.update(invoiceNumberSeries)
|
|
2678
|
+
.set({
|
|
2679
|
+
...rest,
|
|
2680
|
+
isDefault: nextIsDefault,
|
|
2681
|
+
...(resetAt !== undefined ? { resetAt: toTimestamp(resetAt) } : {}),
|
|
2682
|
+
updatedAt: new Date(),
|
|
2683
|
+
})
|
|
2684
|
+
.where(eq(invoiceNumberSeries.id, id))
|
|
2685
|
+
.returning();
|
|
2686
|
+
return row ?? null;
|
|
2687
|
+
});
|
|
2567
2688
|
},
|
|
2568
2689
|
async deleteInvoiceNumberSeries(db, id) {
|
|
2569
2690
|
const [row] = await db
|
|
@@ -2608,6 +2729,24 @@ export const financeService = {
|
|
|
2608
2729
|
};
|
|
2609
2730
|
});
|
|
2610
2731
|
},
|
|
2732
|
+
async applyExternalInvoiceAllocation(db, invoiceId, data) {
|
|
2733
|
+
const [existing] = await db.select().from(invoices).where(eq(invoices.id, invoiceId)).limit(1);
|
|
2734
|
+
if (!existing)
|
|
2735
|
+
return { status: "not_found" };
|
|
2736
|
+
if (existing.status !== "pending_external_allocation") {
|
|
2737
|
+
return { status: "not_pending_external_allocation", invoice: existing };
|
|
2738
|
+
}
|
|
2739
|
+
const [invoice] = await db
|
|
2740
|
+
.update(invoices)
|
|
2741
|
+
.set({
|
|
2742
|
+
invoiceNumber: data.invoiceNumber,
|
|
2743
|
+
status: data.status ?? "sent",
|
|
2744
|
+
updatedAt: new Date(),
|
|
2745
|
+
})
|
|
2746
|
+
.where(eq(invoices.id, invoiceId))
|
|
2747
|
+
.returning();
|
|
2748
|
+
return invoice ? { status: "applied", invoice } : { status: "not_found" };
|
|
2749
|
+
},
|
|
2611
2750
|
// ============================================================================
|
|
2612
2751
|
// Invoice templates
|
|
2613
2752
|
// ============================================================================
|