@mj-biz-apps/orders-core-entities-server 5.26.0 → 5.28.0

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.
Files changed (90) hide show
  1. package/dist/CheckCoverageOverlapOperation.d.ts +28 -0
  2. package/dist/CheckCoverageOverlapOperation.d.ts.map +1 -0
  3. package/dist/CheckCoverageOverlapOperation.js +70 -0
  4. package/dist/CheckCoverageOverlapOperation.js.map +1 -0
  5. package/dist/DetectOverlappingSubscriptionsOperation.d.ts +13 -2
  6. package/dist/DetectOverlappingSubscriptionsOperation.d.ts.map +1 -1
  7. package/dist/DetectOverlappingSubscriptionsOperation.js +17 -3
  8. package/dist/DetectOverlappingSubscriptionsOperation.js.map +1 -1
  9. package/dist/EntitlementBehavior.d.ts +4 -3
  10. package/dist/EntitlementBehavior.d.ts.map +1 -1
  11. package/dist/EntitlementBehavior.js +4 -3
  12. package/dist/EntitlementBehavior.js.map +1 -1
  13. package/dist/ExternalInvoiceBehavior.d.ts +12 -8
  14. package/dist/ExternalInvoiceBehavior.d.ts.map +1 -1
  15. package/dist/ExternalInvoiceBehavior.js +4 -4
  16. package/dist/ExternalInvoiceBehavior.js.map +1 -1
  17. package/dist/GetExternalInvoicingWorklistOperation.d.ts +6 -3
  18. package/dist/GetExternalInvoicingWorklistOperation.d.ts.map +1 -1
  19. package/dist/GetExternalInvoicingWorklistOperation.js +44 -44
  20. package/dist/GetExternalInvoicingWorklistOperation.js.map +1 -1
  21. package/dist/InvoiceBehavior.d.ts +38 -26
  22. package/dist/InvoiceBehavior.d.ts.map +1 -1
  23. package/dist/InvoiceBehavior.js +40 -21
  24. package/dist/InvoiceBehavior.js.map +1 -1
  25. package/dist/InvoiceBuilder.d.ts +6 -4
  26. package/dist/InvoiceBuilder.d.ts.map +1 -1
  27. package/dist/InvoiceBuilder.js +9 -6
  28. package/dist/InvoiceBuilder.js.map +1 -1
  29. package/dist/IssueExternalInvoiceOperation.d.ts +15 -20
  30. package/dist/IssueExternalInvoiceOperation.d.ts.map +1 -1
  31. package/dist/IssueExternalInvoiceOperation.js +45 -49
  32. package/dist/IssueExternalInvoiceOperation.js.map +1 -1
  33. package/dist/IssueInstalmentInvoiceOperation.d.ts +6 -0
  34. package/dist/IssueInstalmentInvoiceOperation.d.ts.map +1 -1
  35. package/dist/IssueInstalmentInvoiceOperation.js +78 -44
  36. package/dist/IssueInstalmentInvoiceOperation.js.map +1 -1
  37. package/dist/OrderEntityServer.d.ts +71 -3
  38. package/dist/OrderEntityServer.d.ts.map +1 -1
  39. package/dist/OrderEntityServer.js +277 -30
  40. package/dist/OrderEntityServer.js.map +1 -1
  41. package/dist/OrderHeaderPaymentScheduleEntityServer.d.ts +7 -6
  42. package/dist/OrderHeaderPaymentScheduleEntityServer.d.ts.map +1 -1
  43. package/dist/OrderHeaderPaymentScheduleEntityServer.js +18 -31
  44. package/dist/OrderHeaderPaymentScheduleEntityServer.js.map +1 -1
  45. package/dist/OrderJournalEntryFactory.d.ts.map +1 -1
  46. package/dist/OrderJournalEntryFactory.js +17 -11
  47. package/dist/OrderJournalEntryFactory.js.map +1 -1
  48. package/dist/OrderLineEntityServer.d.ts +6 -0
  49. package/dist/OrderLineEntityServer.d.ts.map +1 -1
  50. package/dist/OrderLineEntityServer.js +15 -4
  51. package/dist/OrderLineEntityServer.js.map +1 -1
  52. package/dist/PaymentAllocationInputs.d.ts +8 -2
  53. package/dist/PaymentAllocationInputs.d.ts.map +1 -1
  54. package/dist/PaymentAllocationInputs.js +26 -5
  55. package/dist/PaymentAllocationInputs.js.map +1 -1
  56. package/dist/PaymentHeaderEntityServer.d.ts +7 -0
  57. package/dist/PaymentHeaderEntityServer.d.ts.map +1 -1
  58. package/dist/PaymentHeaderEntityServer.js +14 -3
  59. package/dist/PaymentHeaderEntityServer.js.map +1 -1
  60. package/dist/PaymentScheduleBehavior.d.ts +74 -21
  61. package/dist/PaymentScheduleBehavior.d.ts.map +1 -1
  62. package/dist/PaymentScheduleBehavior.js +155 -38
  63. package/dist/PaymentScheduleBehavior.js.map +1 -1
  64. package/dist/RecordProgressOperation.d.ts.map +1 -1
  65. package/dist/RecordProgressOperation.js +3 -5
  66. package/dist/RecordProgressOperation.js.map +1 -1
  67. package/dist/ReversalResolver.d.ts.map +1 -1
  68. package/dist/ReversalResolver.js +6 -1
  69. package/dist/ReversalResolver.js.map +1 -1
  70. package/dist/SpawnRenewalsOperation.d.ts +51 -2
  71. package/dist/SpawnRenewalsOperation.d.ts.map +1 -1
  72. package/dist/SpawnRenewalsOperation.js +214 -23
  73. package/dist/SpawnRenewalsOperation.js.map +1 -1
  74. package/dist/SubscriptionBehavior.d.ts +125 -0
  75. package/dist/SubscriptionBehavior.d.ts.map +1 -1
  76. package/dist/SubscriptionBehavior.js +147 -5
  77. package/dist/SubscriptionBehavior.js.map +1 -1
  78. package/dist/SubscriptionFamilyRules.d.ts +34 -0
  79. package/dist/SubscriptionFamilyRules.d.ts.map +1 -0
  80. package/dist/SubscriptionFamilyRules.js +96 -0
  81. package/dist/SubscriptionFamilyRules.js.map +1 -0
  82. package/dist/entity-names.d.ts +2 -0
  83. package/dist/entity-names.d.ts.map +1 -1
  84. package/dist/entity-names.js +2 -0
  85. package/dist/entity-names.js.map +1 -1
  86. package/dist/index.d.ts +4 -2
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +3 -1
  89. package/dist/index.js.map +1 -1
  90. package/package.json +13 -13
@@ -80,11 +80,11 @@ function addressLines(row) {
80
80
  return [str(row.Line1), str(row.Line2), str(row.Line3), cityLine || null, str(row.Country)].filter(Boolean);
81
81
  }
82
82
  /**
83
- * Read one order and produce its documents — one per selling company.
83
+ * Read one order and produce its document: one, from the order's company (golive #311).
84
84
  *
85
85
  * @param orderHeaderID The order to render.
86
- * @param options `AsOf` drives only the days-until-due countdown; `OnlyCompanyID` narrows a split
87
- * order to a single document without changing how the others are numbered.
86
+ * @param options `AsOf` drives only the days-until-due countdown; `OnlyCompanyID` must name the
87
+ * order's company (or, for an instalment of a pre-golive-#311 per-company schedule, that row's company).
88
88
  */
89
89
  export async function BuildInvoiceDocuments(orderHeaderID, provider, user, options) {
90
90
  const id = RequireUUID(orderHeaderID, 'OrderHeaderID');
@@ -361,15 +361,18 @@ export async function BuildInvoiceDocuments(orderHeaderID, provider, user, optio
361
361
  if (onlyCompanyID && !documents.length) {
362
362
  return {
363
363
  Success: false,
364
- Message: `Order ${orderFacts.OrderNumber} has no lines sold by company ${onlyCompanyID}.`,
364
+ Code: 'NOT_ORDER_COMPANY',
365
+ Message: `Order ${orderFacts.OrderNumber} is invoiced by its own company (${orderFacts.CompanyName || orderFacts.CompanyID}), ` +
366
+ `not by company ${onlyCompanyID}: an order has one document, whatever company owns each product.`,
365
367
  Documents: [],
366
368
  };
367
369
  }
368
370
  return { Success: true, Documents: documents };
369
371
  }
370
372
  /**
371
- * One schedule row as instalment facts, plus how many live instalments its company has — the count
372
- * is what makes `2 of 4` printable and the derived number correct when the row has no frozen one.
373
+ * One schedule row as instalment facts, plus how many live instalments share its company — the
374
+ * order's company for every schedule since golive #311 — which is what makes `2 of 4` printable and
375
+ * the derived number correct when the row has no frozen one.
373
376
  */
374
377
  async function readInstalment(provider, user, orderHeaderID, scheduleID) {
375
378
  const rows = await view(provider, user, ORDER_HEADER_PAYMENT_SCHEDULE_ENTITY, `OrderHeaderID = '${orderHeaderID}' AND Status <> 'Canceled'`, 'InstallmentNumber');
@@ -1 +1 @@
1
- {"version":3,"file":"InvoiceBuilder.js","sourceRoot":"","sources":["../src/InvoiceBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InvoiceBuilder.js","sourceRoot":"","sources":["../src/InvoiceBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * `Orders.IssueExternalInvoice` — one billing unit, one invoice on the company's AR rail, once.
3
3
  *
4
- * WHAT A BILLING UNIT IS (design §4.1). An order billed as a whole has one unit per selling company
5
- * and is invoiceable at Confirmed; an order billed on a schedule has one unit per row and is
6
- * invoiceable once `Orders.IssueInstalmentInvoice` has frozen the row's number. For an order with no
7
- * schedule "locked" and "invoiceable" are the same moment — which is what golive #242 requires.
4
+ * WHAT A BILLING UNIT IS (design §4.1). An order billed as a whole is one unit, sent through the
5
+ * ORDER company's rail whatever company owns each product (golive #311), and is invoiceable at
6
+ * Confirmed; an order billed on a schedule has one unit per row and is invoiceable once
7
+ * `Orders.IssueInstalmentInvoice` has frozen the row's number. For an order with no schedule "locked"
8
+ * and "invoiceable" are the same moment — which is what golive #242 requires.
8
9
  *
9
10
  * THE SEND IS DECOUPLED FROM BOTH EVENTS (D-B1). Nothing in the confirm transaction or the instalment
10
11
  * issue calls this; the sweep and the order form do, and both may call it twice. Idempotency is a
@@ -71,20 +72,6 @@ export declare class IssueExternalInvoiceOperation extends OrdersIssueExternalIn
71
72
  * and never billed at all. PaymentLine rows carry the unit, so this answers the question directly.
72
73
  */
73
74
  export declare function PaidOnBillingUnit(orderHeaderID: string, orderHeaderPaymentScheduleID: string | null, provider: IMetadataProvider, user: UserInfo): Promise<number>;
74
- /**
75
- * Which suffix letter this company's document carries — `-A`, `-B` — on a split order.
76
- *
77
- * MUST AGREE WITH `BuildDocuments`, which sorts the lines' company ids as the database returns them
78
- * and takes the position in that array. The rail sends the number the customer's document prints; if
79
- * the two disagree the customer holds a document numbered differently from the invoice raising it.
80
- *
81
- * COMPARED CASE-INSENSITIVELY, and that is the whole point of this function existing. SQL Server
82
- * returns uppercase ids; a lower-cased needle found nothing, `Math.max(0, -1)` turned the miss into
83
- * position 0, and every company on the order was numbered `-A`. Two Bill.com organisations then each
84
- * received an invoice called `ORD-1234-A`; one organisation refused the second as a duplicate number
85
- * and that company was never billed at all.
86
- */
87
- export declare function companySuffixIndex(companies: readonly string[], companyID: string): number;
88
75
  /** Registers {@link IssueExternalInvoiceOperation}. Called from the server bootstrap. */
89
76
  export declare function LoadIssueExternalInvoiceOperation(): void;
90
77
  export interface IssueUnitOptions {
@@ -92,8 +79,8 @@ export interface IssueUnitOptions {
92
79
  AllowReissue: boolean;
93
80
  }
94
81
  /**
95
- * Issue one unit. `unit.CompanyID` may be null when the order sells for one company or an instalment
96
- * is named. Exported so `Orders.SendExternalInvoices` can call it per worklist row without going
82
+ * Issue one unit. `unit.CompanyID` may be null, and is then the order's company or the named
83
+ * instalment's. Exported so `Orders.SendExternalInvoices` can call it per worklist row without going
97
84
  * back through the provider.
98
85
  */
99
86
  export declare function IssueOneUnit(unit: {
@@ -105,6 +92,14 @@ export declare function IssueOneUnit(unit: {
105
92
  export declare function LoadExternalInvoiceByID(id: string, provider: IMetadataProvider, user: UserInfo): Promise<ExternalInvoiceRow | null>;
106
93
  /** The unit's most relevant row: a live one if any, else the most recent of any status. */
107
94
  export declare function LoadExternalInvoiceForUnit(paymentProviderID: string, unit: BillingUnitKey, provider: IMetadataProvider, user: UserInfo): Promise<ExternalInvoiceRow | null>;
95
+ /**
96
+ * A live whole-order invoice this order already holds on a rail for a company OTHER than the order's,
97
+ * sent when an order was invoiced once per product company (before golive #311), or null.
98
+ *
99
+ * Its lines are already billed; the order company's invoice covers every line, so sending it beside
100
+ * this one bills them twice. The caller refuses and names the invoice to cancel.
101
+ */
102
+ export declare function LoadLegacySplitInvoice(orderHeaderID: string, orderCompanyID: string, provider: IMetadataProvider, user: UserInfo): Promise<ExternalInvoiceRow | null>;
108
103
  /**
109
104
  * How many rail invoice numbers this unit has already SPENT — rows that reached the rail and were
110
105
  * given an `ExternalInvoiceRef`, whatever became of them afterwards.
@@ -1 +1 @@
1
- {"version":3,"file":"IssueExternalInvoiceOperation.d.ts","sourceRoot":"","sources":["../src/IssueExternalInvoiceOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IssueExternalInvoiceOperation.d.ts","sourceRoot":"","sources":["../src/IssueExternalInvoiceOperation.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  /**
8
8
  * `Orders.IssueExternalInvoice` — one billing unit, one invoice on the company's AR rail, once.
9
9
  *
10
- * WHAT A BILLING UNIT IS (design §4.1). An order billed as a whole has one unit per selling company
11
- * and is invoiceable at Confirmed; an order billed on a schedule has one unit per row and is
12
- * invoiceable once `Orders.IssueInstalmentInvoice` has frozen the row's number. For an order with no
13
- * schedule "locked" and "invoiceable" are the same moment — which is what golive #242 requires.
10
+ * WHAT A BILLING UNIT IS (design §4.1). An order billed as a whole is one unit, sent through the
11
+ * ORDER company's rail whatever company owns each product (golive #311), and is invoiceable at
12
+ * Confirmed; an order billed on a schedule has one unit per row and is invoiceable once
13
+ * `Orders.IssueInstalmentInvoice` has frozen the row's number. For an order with no schedule "locked"
14
+ * and "invoiceable" are the same moment — which is what golive #242 requires.
14
15
  *
15
16
  * THE SEND IS DECOUPLED FROM BOTH EVENTS (D-B1). Nothing in the confirm transaction or the instalment
16
17
  * issue calls this; the sweep and the order form do, and both may call it twice. Idempotency is a
@@ -30,10 +31,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
30
31
  import { BaseRemotableOperation, CompositeKey, LogError, RunView } from '@memberjunction/core';
31
32
  import { RegisterClass, UUIDsEqual } from '@memberjunction/global';
32
33
  import { OrdersIssueExternalInvoiceOperation as OrdersIssueExternalInvoiceOperationBase, Today, } from '@mj-biz-apps/orders-entities';
33
- import { EXTERNAL_CUSTOMER_ENTITY, EXTERNAL_INVOICE_ENTITY, ORDER_HEADER_ENTITY, ORDER_HEADER_PAYMENT_SCHEDULE_ENTITY, ORDER_LINE_ENTITY, ORGANIZATION_ENTITY, PAYMENT_LINE_ENTITY, PERSON_ENTITY, } from './entity-names.js';
34
+ import { EXTERNAL_CUSTOMER_ENTITY, EXTERNAL_INVOICE_ENTITY, ORDER_HEADER_ENTITY, ORDER_HEADER_PAYMENT_SCHEDULE_ENTITY, ORGANIZATION_ENTITY, PAYMENT_LINE_ENTITY, PERSON_ENTITY, } from './entity-names.js';
34
35
  import { BuildExternalInvoicePayload, DecideInvoiceable, money, } from './ExternalInvoiceBehavior.js';
35
36
  import { FindInvoiceRailForCompany } from './InvoiceRailResolver.js';
36
- import { DocumentNumber as CompanyDocumentNumber, MAX_DOCUMENT_NUMBER_LENGTH, ReissueDocumentNumber } from './InvoiceBehavior.js';
37
+ import { MAX_DOCUMENT_NUMBER_LENGTH, ReissueDocumentNumber } from './InvoiceBehavior.js';
37
38
  import { BuildInvoiceDocuments } from './InvoiceBuilder.js';
38
39
  import { EscapeText, RequireUUID } from './sql-guards.js';
39
40
  import { CheckRailCustomerName, CheckRailInvoiceNumber, OrganizationCustomerName, PersonCustomerName } from './RailCustomerNameLimit.js';
@@ -86,36 +87,13 @@ export async function PaidOnBillingUnit(orderHeaderID, orderHeaderPaymentSchedul
86
87
  const r = await rv.RunView({ EntityName: PAYMENT_LINE_ENTITY, ExtraFilter: filters.join(' AND '), Fields: ['Amount'], ResultType: 'simple' }, user);
87
88
  return money((r.Results ?? []).reduce((s, l) => s + Number(l.Amount), 0));
88
89
  }
89
- /**
90
- * Which suffix letter this company's document carries — `-A`, `-B` — on a split order.
91
- *
92
- * MUST AGREE WITH `BuildDocuments`, which sorts the lines' company ids as the database returns them
93
- * and takes the position in that array. The rail sends the number the customer's document prints; if
94
- * the two disagree the customer holds a document numbered differently from the invoice raising it.
95
- *
96
- * COMPARED CASE-INSENSITIVELY, and that is the whole point of this function existing. SQL Server
97
- * returns uppercase ids; a lower-cased needle found nothing, `Math.max(0, -1)` turned the miss into
98
- * position 0, and every company on the order was numbered `-A`. Two Bill.com organisations then each
99
- * received an invoice called `ORD-1234-A`; one organisation refused the second as a duplicate number
100
- * and that company was never billed at all.
101
- */
102
- export function companySuffixIndex(companies, companyID) {
103
- const index = [...companies].sort().findIndex((c) => UUIDsEqual(c, companyID));
104
- // A miss cannot be silently position 0 again. On a single-company order the suffix is unused, so
105
- // 0 is harmless; on a split order it is the bug above, so say so rather than mislabel a document.
106
- if (index < 0 && companies.length > 1) {
107
- throw new Error(`Company ${companyID} does not appear among the companies selling on this order (${companies.join(', ')}), ` +
108
- `so the document suffix cannot be derived. Refusing rather than numbering it as the first company.`);
109
- }
110
- return Math.max(0, index);
111
- }
112
90
  /** Registers {@link IssueExternalInvoiceOperation}. Called from the server bootstrap. */
113
91
  export function LoadIssueExternalInvoiceOperation() {
114
92
  void IssueExternalInvoiceOperation;
115
93
  }
116
94
  /**
117
- * Issue one unit. `unit.CompanyID` may be null when the order sells for one company or an instalment
118
- * is named. Exported so `Orders.SendExternalInvoices` can call it per worklist row without going
95
+ * Issue one unit. `unit.CompanyID` may be null, and is then the order's company or the named
96
+ * instalment's. Exported so `Orders.SendExternalInvoices` can call it per worklist row without going
119
97
  * back through the provider.
120
98
  */
121
99
  export async function IssueOneUnit(unit, opts, provider, user) {
@@ -126,19 +104,11 @@ export async function IssueOneUnit(unit, opts, provider, user) {
126
104
  Message: message,
127
105
  ...extra,
128
106
  });
129
- // 1. The order, its lines' companies, and (when the table exists) its schedule.
107
+ // 1. The order and (when the table exists) its schedule.
130
108
  const orderResult = await rv.RunView({ EntityName: ORDER_HEADER_ENTITY, ExtraFilter: `ID = '${unit.OrderHeaderID}'`, ResultType: 'simple' }, user);
131
109
  const order = orderResult.Results?.[0];
132
110
  if (!order)
133
111
  return refuse('ERROR', `No order with ID ${unit.OrderHeaderID}.`);
134
- const lines = await rv.RunView({ EntityName: ORDER_LINE_ENTITY, ExtraFilter: `OrderHeaderID = '${unit.OrderHeaderID}'`, Fields: ['CompanyID'], ResultType: 'simple' }, user);
135
- // Deduplicate case-insensitively, but keep the DATABASE's casing: this value becomes the unit's
136
- // CompanyID and is compared against the order lines' own ids downstream. Handing on a lower-cased
137
- // copy made `BuildInvoiceDocuments` match nothing and report "has no lines sold by company",
138
- // which reads like missing data rather than the case fold it was.
139
- const lineCompanies = [
140
- ...new Map((lines.Results ?? []).map((l) => [String(l.CompanyID).toLowerCase(), String(l.CompanyID)])).values(),
141
- ];
142
112
  const scheduleSupported = ScheduleSupported(provider);
143
113
  let scheduleRows = [];
144
114
  if (scheduleSupported) {
@@ -154,16 +124,24 @@ export async function IssueOneUnit(unit, opts, provider, user) {
154
124
  if (unit.OrderHeaderPaymentScheduleID && !row) {
155
125
  return refuse('ERROR', `Instalment ${unit.OrderHeaderPaymentScheduleID} is not a live instalment of order ${order.OrderNumber}.`);
156
126
  }
157
- // 2. Which selling company this unit bills for.
158
- let companyID = row ? String(row.CompanyID) : unit.CompanyID;
159
- if (!companyID) {
160
- if (lineCompanies.length <= 1)
161
- companyID = lineCompanies[0] ?? String(order.CompanyID);
162
- else {
163
- return refuse('NAME_THE_COMPANY', `Order ${order.OrderNumber} sells for ${lineCompanies.length} companies; name the CompanyID to invoice — each company's document is its own rail invoice.`);
127
+ // 2. Whose rail bills this unit: the ORDER's company (golive #311), so the customer pays the
128
+ // company that sold the order and the intercompany legs move the product companies' shares. An
129
+ // instalment carries its own company, which is the order's for every row since golive #311; a product
130
+ // company's own row left from a per-company schedule goes through that company's rail. The
131
+ // database's casing is kept: the id is compared against the document's company downstream.
132
+ if (!row && unit.CompanyID && !UUIDsEqual(unit.CompanyID, String(order.CompanyID))) {
133
+ return refuse('ERROR', `Order ${order.OrderNumber} is invoiced by its own company (${companyNameOr(order, String(order.CompanyID))}), ` +
134
+ `not by company ${unit.CompanyID}: an order is one invoice, whatever company owns each product.`);
135
+ }
136
+ const companyID = RequireUUID(row ? String(row.CompanyID) : String(order.CompanyID), 'CompanyID');
137
+ if (!row) {
138
+ const split = await LoadLegacySplitInvoice(order.ID, companyID, provider, user);
139
+ if (split) {
140
+ return refuse('ERROR', `Order ${order.OrderNumber} already has ${split.DocumentNumber} on a rail for company ${split.CompanyID}, sent ` +
141
+ `when an order was invoiced once per product company. Sending the order's own invoice now would bill ` +
142
+ `those lines twice. Cancel ${split.DocumentNumber} (Orders.CancelExternalInvoice) first, then send.`);
164
143
  }
165
144
  }
166
- companyID = RequireUUID(companyID, 'CompanyID');
167
145
  // 3. The rail. None is the ordinary answer for a company that invoices natively.
168
146
  const rail = await FindInvoiceRailForCompany(companyID, provider, user);
169
147
  if (!rail) {
@@ -208,7 +186,7 @@ export async function IssueOneUnit(unit, opts, provider, user) {
208
186
  // the first, and neither side would say a word.
209
187
  const wholeOrderNumber = row
210
188
  ? null
211
- : ReissueDocumentNumber(CompanyDocumentNumber(order.OrderNumber, companySuffixIndex(lineCompanies, companyID), Math.max(1, lineCompanies.length)), await CountRailNumbersSpent(rail.Config.PaymentProviderID, unitKey, provider, user));
189
+ : ReissueDocumentNumber(order.OrderNumber, await CountRailNumbersSpent(rail.Config.PaymentProviderID, unitKey, provider, user));
212
190
  if (wholeOrderNumber && wholeOrderNumber.length > MAX_DOCUMENT_NUMBER_LENGTH) {
213
191
  // Refused rather than truncated: a truncated number is either a duplicate the rail rejects or a
214
192
  // different document's number, and both are worse than saying so.
@@ -403,6 +381,24 @@ export async function LoadExternalInvoiceForUnit(paymentProviderID, unit, provid
403
381
  const rows = r.Results ?? [];
404
382
  return rows.find((x) => x.Status === 'Sent' || x.Status === 'Sending') ?? rows[0] ?? null;
405
383
  }
384
+ /**
385
+ * A live whole-order invoice this order already holds on a rail for a company OTHER than the order's,
386
+ * sent when an order was invoiced once per product company (before golive #311), or null.
387
+ *
388
+ * Its lines are already billed; the order company's invoice covers every line, so sending it beside
389
+ * this one bills them twice. The caller refuses and names the invoice to cancel.
390
+ */
391
+ export async function LoadLegacySplitInvoice(orderHeaderID, orderCompanyID, provider, user) {
392
+ const rv = new RunView(provider);
393
+ const r = await rv.RunView({
394
+ EntityName: EXTERNAL_INVOICE_ENTITY,
395
+ ExtraFilter: `OrderHeaderID = '${RequireUUID(orderHeaderID, 'OrderHeaderID')}' AND OrderHeaderPaymentScheduleID IS NULL ` +
396
+ `AND CompanyID <> '${RequireUUID(orderCompanyID, 'CompanyID')}' AND Status IN ('Sent', 'Sending')`,
397
+ ResultType: 'simple',
398
+ }, user);
399
+ // Re-checked here as well as in the filter, so the answer does not rest on how a provider compares ids.
400
+ return (r.Results ?? []).find((x) => !UUIDsEqual(String(x.CompanyID), orderCompanyID)) ?? null;
401
+ }
406
402
  /**
407
403
  * How many rail invoice numbers this unit has already SPENT — rows that reached the rail and were
408
404
  * given an `ExternalInvoiceRef`, whatever became of them afterwards.
@@ -1 +1 @@
1
- {"version":3,"file":"IssueExternalInvoiceOperation.js","sourceRoot":"","sources":["../src/IssueExternalInvoiceOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IssueExternalInvoiceOperation.js","sourceRoot":"","sources":["../src/IssueExternalInvoiceOperation.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,12 @@
20
20
  * with the revenue it reduces. All of it inside this transaction, so the number, the stamp and the entry
21
21
  * commit or roll back together. It reads nothing itself: the order's lines and the company's
22
22
  * sibling rows are read here and passed in.
23
+ *
24
+ * ONE DOCUMENT, ONE ENTRY PER PRODUCT COMPANY (golive #311). The row is the order company's and is
25
+ * invoiced once, but A/R and revenue stay in each product's company (D13). `CompanySlices` divides
26
+ * the row among the companies whose lines it bills, and each company with a piece gets its own
27
+ * billing entry, sliced against its own pieces of the schedule, exactly as a per-company row was.
28
+ * On a single-company order that is one entry, unchanged.
23
29
  */
24
30
  import { type IMetadataProvider, type UserInfo } from '@memberjunction/core';
25
31
  import { OrdersIssueInstalmentInvoiceOperation as OrdersIssueInstalmentInvoiceOperationBase, type OrdersIssueInstalmentInvoiceInput, type OrdersIssueInstalmentInvoiceOutput } from '@mj-biz-apps/orders-entities';
@@ -1 +1 @@
1
- {"version":3,"file":"IssueInstalmentInvoiceOperation.d.ts","sourceRoot":"","sources":["../src/IssueInstalmentInvoiceOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAKH,KAAK,iBAAiB,EAEtB,KAAK,QAAQ,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,qCAAqC,IAAI,yCAAyC,EAClF,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EAI1C,MAAM,8BAA8B,CAAC;AA4CtC;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,kCAAkC,CAAC,CAmP7C;AAED,qBACa,+BAAgC,SAAQ,yCAAyC;IAC1F;;;OAGG;cACa,eAAe,CAC3B,KAAK,EAAE,iCAAiC,EACxC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,kCAAkC,CAAC;CAmBjD;AAED,2FAA2F;AAC3F,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D"}
1
+ {"version":3,"file":"IssueInstalmentInvoiceOperation.d.ts","sourceRoot":"","sources":["../src/IssueInstalmentInvoiceOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAKH,KAAK,iBAAiB,EAEtB,KAAK,QAAQ,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,qCAAqC,IAAI,yCAAyC,EAClF,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EAI1C,MAAM,8BAA8B,CAAC;AA+CtC;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,kCAAkC,CAAC,CAuQ7C;AAED,qBACa,+BAAgC,SAAQ,yCAAyC;IAC1F;;;OAGG;cACa,eAAe,CAC3B,KAAK,EAAE,iCAAiC,EACxC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,kCAAkC,CAAC;CAmBjD;AAED,2FAA2F;AAC3F,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D"}