@arnaudjnn/billing-tools 13.1.0 → 15.0.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.
package/dist/index.d.ts CHANGED
@@ -54,4 +54,6 @@ export type { BillingProfile } from "./billing-profile.js";
54
54
  export type { BillingAddress } from "./billing-profile.js";
55
55
  export { listCustomerTaxIds, setCustomerTaxId } from "./tax-ids.js";
56
56
  export type { CustomerTaxId } from "./tax-ids.js";
57
+ export { LOCAL_TAX_ORIGINS, isLocalTaxOrigin, type LocalTaxOrigin } from "./tax-origins.js";
58
+ export type { TaxConfig, TaxCalculator, TaxCalculation } from "./types.js";
57
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -163,4 +163,5 @@ export { listPaymentMethods, createCardSetupIntent, createCardSetupCheckoutSessi
163
163
  export { defaultPaymentMethodConfig, ensurePaymentMethodConfig, invalidatePaymentMethodConfigs, } from "./payment-method-config.js";
164
164
  export { getBillingProfile, updateBillingProfile, INVOICE_EMAIL_MAX, COMPANY_NAME_MAX, } from "./billing-profile.js";
165
165
  export { listCustomerTaxIds, setCustomerTaxId } from "./tax-ids.js";
166
+ export { LOCAL_TAX_ORIGINS, isLocalTaxOrigin } from "./tax-origins.js";
166
167
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare const LOCAL_TAX_ORIGINS: readonly ["AD", "AL", "AT", "BA", "BE", "BG", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GB", "GE", "GR", "HR", "HU", "IE", "IS", "IT", "LI", "LT", "LU", "LV", "MC", "MD", "ME", "MK", "MT", "NL", "NO", "PL", "PT", "RO", "RS", "SE", "SI", "SK", "TR", "UA", "XI", "XK"];
2
+ /**
3
+ * An establishment country the local engine can compute tax for.
4
+ *
5
+ * If your establishment is not in this list — the United States above all — the local
6
+ * mode cannot help you, and that is a fact about published rate data rather than a
7
+ * gap someone forgot to fill. Use `mode: "stripe"`, or `mode: "external"` with a
8
+ * provider that covers you.
9
+ */
10
+ export type LocalTaxOrigin = (typeof LOCAL_TAX_ORIGINS)[number];
11
+ /** Is this establishment one the local engine can compute for? */
12
+ export declare function isLocalTaxOrigin(country: string | null | undefined): country is LocalTaxOrigin;
13
+ //# sourceMappingURL=tax-origins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tax-origins.d.ts","sourceRoot":"","sources":["../src/tax-origins.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,iBAAiB,yRAKpB,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,IAAI,cAAc,CAE9F"}
@@ -0,0 +1,26 @@
1
+ // The countries the LOCAL engine has rates for, as a type.
2
+ //
3
+ // This exists so `mode: "local"` with an origin the engine cannot compute is a
4
+ // COMPILE error rather than a refused charge at runtime. `origin` used to be a plain
5
+ // `string`, so `origin: "US"` typechecked, deployed, and then threw
6
+ // `ApproximateTaxError` on the first US-destined charge — the failure arriving as far
7
+ // as possible from the line that caused it.
8
+ //
9
+ // It is not only the US. `eu-vat-rates-data` covers 45 EUROPEAN countries, so a seller
10
+ // established in AU, NZ, JP, SG, CA, IN, BR or MX was equally unable to compute its own
11
+ // domestic rate and equally unwarned. All of them are now rejected at the config site.
12
+ //
13
+ // Generated from the dataset rather than hand-typed — `npm run origins:check` fails if
14
+ // the two drift, because a country added upstream that is missing here would be
15
+ // rejected for no reason, and one removed upstream would typecheck and then throw.
16
+ export const LOCAL_TAX_ORIGINS = [
17
+ "AD", "AL", "AT", "BA", "BE", "BG", "CH", "CY", "CZ", "DE", "DK", "EE", "ES",
18
+ "FI", "FR", "GB", "GE", "GR", "HR", "HU", "IE", "IS", "IT", "LI", "LT", "LU",
19
+ "LV", "MC", "MD", "ME", "MK", "MT", "NL", "NO", "PL", "PT", "RO", "RS", "SE",
20
+ "SI", "SK", "TR", "UA", "XI", "XK",
21
+ ];
22
+ /** Is this establishment one the local engine can compute for? */
23
+ export function isLocalTaxOrigin(country) {
24
+ return !!country && LOCAL_TAX_ORIGINS.includes(country.toUpperCase());
25
+ }
26
+ //# sourceMappingURL=tax-origins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tax-origins.js","sourceRoot":"","sources":["../src/tax-origins.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,+EAA+E;AAC/E,qFAAqF;AACrF,oEAAoE;AACpE,sFAAsF;AACtF,4CAA4C;AAC5C,EAAE;AACF,uFAAuF;AACvF,wFAAwF;AACxF,uFAAuF;AACvF,EAAE;AACF,uFAAuF;AACvF,gFAAgF;AAChF,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC5E,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC1B,CAAC;AAYX,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,OAAkC;IACjE,OAAO,CAAC,CAAC,OAAO,IAAK,iBAAuC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/F,CAAC"}
package/dist/tax.d.ts CHANGED
@@ -137,6 +137,17 @@ export type TaxMode =
137
137
  "local"
138
138
  /** Stripe Tax (`automatic_tax`). Requires registrations, or it computes 0%. */
139
139
  | "stripe"
140
+ /**
141
+ * A third-party provider, injected as `config.tax.calculate`.
142
+ *
143
+ * The middle ground the other two leave open: `local` cannot compute US sales tax
144
+ * because no national rate exists, and Stripe Tax bills 0.5% of every taxed
145
+ * transaction. The calculation is injected rather than built in, so this package
146
+ * keeps no network I/O and stays testable offline. No adapter ships: the seam passes
147
+ * an address and expects a RATE, which does not fit Numeral, Anrok or Stripe's Tax
148
+ * API — those take a basket and return an amount. See `TaxCalculator` in types.ts.
149
+ */
150
+ | "external"
140
151
  /** No tax on anything the library charges. */
141
152
  | "none";
142
153
  /**
package/dist/tax.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tax.d.ts","sourceRoot":"","sources":["../src/tax.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tax.d.ts","sourceRoot":"","sources":["../src/tax.ts"],"names":[],"mappings":"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"}
package/dist/tax.js CHANGED
@@ -478,6 +478,38 @@ export async function taxFor(stripeCustomerId, tax) {
478
478
  return { automaticTax: true };
479
479
  case "none":
480
480
  return {};
481
+ case "external": {
482
+ // A provider answers, and the answer is applied the same way the local engine's
483
+ // is — as an explicit Stripe TaxRate — so it renders on the invoice, dedupes
484
+ // through the same cache, and needs no per-charge-site wiring.
485
+ //
486
+ // The provider is NOT called when there is no customer to place: a calculation
487
+ // without a destination is a guess, and this library refuses rather than guesses.
488
+ const calculate = tax && "calculate" in tax ? tax.calculate : undefined;
489
+ if (!calculate || !stripeCustomerId)
490
+ return {};
491
+ const where = await customerPlaceOfSupply(stripeCustomerId);
492
+ // Deliberately NOT caught. A provider that is down or misconfigured must refuse
493
+ // the charge, not silently untax it — the whole reason to pay one is that its
494
+ // answer is the authority, and an exception here is louder than a 0% invoice
495
+ // nobody reads. `mode: "none"` is how a deployment says "charge no tax".
496
+ const result = await calculate({
497
+ customerId: stripeCustomerId,
498
+ country: where?.country,
499
+ state: where?.state,
500
+ postalCode: where?.postalCode,
501
+ taxNumber: where?.taxNumber,
502
+ });
503
+ if (!result)
504
+ return {};
505
+ const id = await ensureStripeTaxRate({
506
+ percent: result.percent,
507
+ reverseCharge: result.reverseCharge ?? false,
508
+ country: (result.country ?? where?.country ?? "").toUpperCase(),
509
+ type: result.percent > 0 ? "tax" : "none",
510
+ }, { displayName: result.displayName ?? noteFor({ percent: result.percent, reverseCharge: result.reverseCharge ?? false, country: "", type: "none" }, tax?.notes) });
511
+ return id ? { taxRates: [id] } : {};
512
+ }
481
513
  case "local": {
482
514
  const originCountry = await originFor(tax);
483
515
  if (!originCountry) {
@@ -516,6 +548,9 @@ async function customerPlaceOfSupply(stripeCustomerId) {
516
548
  return {
517
549
  country: customer.address?.country ?? undefined,
518
550
  state: customer.address?.state ?? null,
551
+ // A US provider needs the postal code: sales tax is destination-based to
552
+ // county, city and district level, so state alone is not a location.
553
+ postalCode: customer.address?.postal_code ?? null,
519
554
  // Any tax id on file: `eu_vat` is the one that reverse-charges, and
520
555
  // Decided from the number itself, by VIES.
521
556
  taxNumber: customer.tax_ids?.data?.[0]?.value ?? null,
package/dist/tax.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tax.js","sourceRoot":"","sources":["../src/tax.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tax.js","sourceRoot":"","sources":["../src/tax.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,OAAO,EACP,UAAU,EACV,cAAc,EACd,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA+FzC;;;;;;;GAOG;AACH,SAAS,cAAc,CACrB,aAAyC,EACzC,OAAe,EACf,KAAqB;IAErB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9B,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACtD,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAC1B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAM,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAqChC;IACC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,KAAK,OAAO,CAAC;IACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEtC,gFAAgF;IAChF,EAAE;IACF,kFAAkF;IAClF,+EAA+E;IAC/E,mFAAmF;IACnF,EAAE;IACF,mFAAmF;IACnF,kFAAkF;IAClF,oFAAoF;IACpF,2EAA2E;IAC3E,oEAAoE;IACpE,EAAE;IACF,kFAAkF;IAClF,oFAAoF;IACpF,MAAM,eAAe,GAAG,SAAS,IAAI,CAAC,QAAQ,CAAC;IAC/C,MAAM,aAAa,GACjB,eAAe;QACf,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,CAAC;YACV,aAAa,EAAE,IAAI;YACnB,OAAO;YACP,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;YACrC,WAAW,EAAE,IAAI,EAAE,QAAQ,IAAI,SAAS;SACzC,CAAC;IACJ,CAAC;IAED,+EAA+E;IAE/E,mFAAmF;IACnF,+EAA+E;IAC/E,oFAAoF;IACpF,iEAAiE;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa;QAChC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;QACzD,CAAC,CAAC,QAAQ,CAAC;IAEb,+EAA+E;IAC/E,kFAAkF;IAClF,mFAAmF;IACnF,oFAAoF;IACpF,8BAA8B;IAC9B,MAAM,mBAAmB,GAAG,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC;IAEhE,wEAAwE;IACxE,0EAA0E;IAC1E,gFAAgF;IAChF,gFAAgF;IAChF,kEAAkE;IAClE,EAAE;IACF,kFAAkF;IAClF,mFAAmF;IACnF,mFAAmF;IACnF,qEAAqE;IACrE,EAAE;IACF,8EAA8E;IAC9E,4DAA4D;IAC5D,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa;QAC3C,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC;QAClD,CAAC,CAAC,IAAI,CAAC;IAET,+EAA+E;IAC/E,gFAAgF;IAChF,kFAAkF;IAClF,iDAAiD;IACjD,EAAE;IACF,kFAAkF;IAClF,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,YAAY,GAChB,QAAQ,IAAI,eAAe;QACzB,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK;YAClB,CAAC,CAAC,kBAAkB;gBAClB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI;YACR,CAAC,CAAC,OAAO;QACX,CAAC,CAAC,mBAAmB,IAAI,OAAO;YAC9B,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAC;IAEb,kFAAkF;IAClF,mFAAmF;IACnF,mFAAmF;IACnF,mFAAmF;IACnF,0CAA0C;IAC1C,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACvF,CAAC;IAED,mFAAmF;IACnF,gFAAgF;IAChF,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACxF,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACnC,OAAO;QACL,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC;QAC3C,aAAa,EAAE,KAAK;QACpB,OAAO;QACP,gFAAgF;QAChF,+EAA+E;QAC/E,iFAAiF;QACjF,gCAAgC;QAChC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;QACrC,WAAW,EAAE,IAAI,EAAE,QAAQ,IAAI,SAAS;KACzC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,gBAAgB,CAAC,SAAiB,EAAE,eAAuB;IACxE,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,kFAAkF;IAClF,+EAA+E;IAC/E,2EAA2E;IAC3E,iFAAiF;IACjF,iFAAiF;IACjF,oFAAoF;IACpF,oFAAoF;IACpF,oFAAoF;IACpF,6BAA6B;IAC7B,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe;QAAE,OAAO,KAAK,CAAC;IAErD,gFAAgF;IAChF,oFAAoF;IACpF,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAErC,yDAAyD;IACzD,EAAE;IACF,oFAAoF;IACpF,oFAAoF;IACpF,kFAAkF;IAClF,+BAA+B;IAC/B,EAAE;IACF,oFAAoF;IACpF,qFAAqF;IACrF,kFAAkF;IAClF,2EAA2E;IAC3E,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAEvD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,KAAK;QAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC9C,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7C,uFAAuF;AACvF,MAAM,UAAU,oBAAoB;IAClC,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,yFAAyF;AACzF,MAAM,SAAS,GAAG,WAAW,CAAC;AAE9B;;;;;;;;;;;;GAYG;AACH,SAAS,cAAc,CACrB,SAAiB;IAEjB,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/B,oFAAoF;IACpF,gFAAgF;IAChF,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,+BAA+B;AAC/B,EAAE;AACF,mFAAmF;AACnF,oFAAoF;AACpF,+EAA+E;AAC/E,oFAAoF;AACpF,mFAAmF;AACnF,mFAAmF;AACnF,qFAAqF;AACrF,IAAI,YAAY,GAAiD,UAAU,CAAC;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CACvC,EAAiD;IAEjD,YAAY,GAAG,EAAE,IAAI,eAAe,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,MAAM,IAAI,KAAK,CACb,8BAA8B,GAAG,sDAAsD;QACrF,wFAAwF;QACxF,oFAAoF;QACpF,oDAAoD,CACvD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAa;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,0DAA0D,OAAO,QAAQ,MAAM,EAAE,EACjF,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CACjD,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA0B,CAAC;QACzD,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;8EAC8E;AAC9E,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B,8EAA8E;AAC9E,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACvB;IAArB,YAAqB,QAAqB;QACxC,KAAK,CACH,kBAAkB,QAAQ,CAAC,OAAO,0DAA0D;YAC1F,oFAAoF;YACpF,wFAAwF;YACxF,yFAAyF;YACzF,uFAAuF;YACvF,2FAA2F;YAC3F,0FAA0F;YAC1F,uFAAuF;YACvF,yBAAyB,CAC5B,CAAC;QAXiB,aAAQ,GAAR,QAAQ,CAAa;QAYxC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,6EAA6E;AAC7E,iCAAiC;AACjC,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;AACnD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkC,CAAC;AAE/D;sCACsC;AACtC,MAAM,UAAU,kBAAkB;IAChC,SAAS,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAqB,EACrB,OAAiC,EAAE;IAEnC,kFAAkF;IAClF,mFAAmF;IACnF,iFAAiF;IACjF,qFAAqF;IACrF,gFAAgF;IAChF,EAAE;IACF,+EAA+E;IAC/E,kFAAkF;IAClF,6CAA6C;IAC7C,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;IACxE,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAEpD,MAAM,WAAW,GACf,IAAI,CAAC,WAAW;QAChB,CAAC,QAAQ,CAAC,aAAa;YACrB,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,yEAAyE;gBACzE,yEAAyE;gBACzE,CAAC,QAAQ,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC;IAEvC,kFAAkF;IAClF,qFAAqF;IACrF,mFAAmF;IACnF,gFAAgF;IAChF,iEAAiE;IACjE,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IAE7D,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,IAAI,WAAW,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;IAC7F,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAClC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,iFAAiF;QACjF,+EAA+E;QAC/E,gFAAgF;QAChF,4EAA4E;QAC5E,6DAA6D;QAC7D,IAAI,QAA4B,CAAC;QACjC,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACzE,IACE,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,OAAO;gBACjC,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,OAAO;gBACpC,CAAC,CAAC,SAAS,KAAK,KAAK;gBACrB,CAAC,CAAC,YAAY,KAAK,WAAW,EAC9B,CAAC;gBACD,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QACD,MAAM,EAAE,GACN,QAAQ;YACR,CACE,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC3B,YAAY,EAAE,WAAW;gBACzB,UAAU,EAAE,QAAQ,CAAC,OAAO;gBAC5B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,SAAS,EAAE,KAAK;gBAChB,GAAG,CAAC,QAAQ,CAAC,aAAa;oBACxB,CAAC,CAAC,EAAE,WAAW,EAAE,gDAAgD,EAAE;oBACnE,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CACH,CAAC,EAAE,CAAC;QACP,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAE7C,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAkCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,SAAS,CAAC,GAAqC;IAC7D,IAAI,GAAG,EAAE,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC/B,IAAI,GAAG,EAAE,SAAS;QAAE,OAAO,QAAQ,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,oFAAoF;AACpF,iFAAiF;AACjF,kDAAkD;AAClD,IAAI,cAAyC,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAqC;IACnE,IAAI,GAAG,EAAE,MAAM;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC;IACnC,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtD,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,gFAAgF;QAChF,wEAAwE;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB;IACjC,cAAc,GAAG,SAAS,CAAC;IAC3B,cAAc,GAAG,KAAK,CAAC;AACzB,CAAC;AAED,qEAAqE;AACrE,mEAAmE;AACnE,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,gBAA+B,EAC/B,GAAqC;IAErC,+EAA+E;IAC/E,6EAA6E;IAC7E,IAAI,GAAG,EAAE,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChD,IAAI,KAAK,EAAE,MAAM;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,QAAQ,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAChC,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;QACZ,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,gFAAgF;YAChF,6EAA6E;YAC7E,+DAA+D;YAC/D,EAAE;YACF,+EAA+E;YAC/E,kFAAkF;YAClF,MAAM,SAAS,GAAG,GAAG,IAAI,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAgB;gBAAE,OAAO,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YAC5D,gFAAgF;YAChF,8EAA8E;YAC9E,6EAA6E;YAC7E,yEAAyE;YACzE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;gBAC7B,UAAU,EAAE,gBAAgB;gBAC5B,OAAO,EAAE,KAAK,EAAE,OAAO;gBACvB,KAAK,EAAE,KAAK,EAAE,KAAK;gBACnB,UAAU,EAAE,KAAK,EAAE,UAAU;gBAC7B,SAAS,EAAE,KAAK,EAAE,SAAS;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAClC;gBACE,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK;gBAC5C,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;gBAC/D,IAAI,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;aAC1C,EACD,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,OAAO,CACxC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EACpG,GAAG,EAAE,KAAK,CACX,EAAE,CACN,CAAC;YACF,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,cAAc,GAAG,IAAI,CAAC;oBACtB,OAAO,CAAC,IAAI,CACV,iFAAiF;wBAC/E,oFAAoF;wBACpF,oFAAoF;wBACpF,mFAAmF,CACtF,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC;gBACpC,GAAG,EAAE,GAAG,EAAE,GAAG;gBACb,aAAa,EAAE,GAAG,EAAE,aAAa;gBACjC,KAAK,EAAE,GAAG,EAAE,KAAK;gBACjB,aAAa;gBACb,gEAAgE;gBAChE,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,aAAa;gBACxC,KAAK,EAAE,KAAK,EAAE,KAAK;gBACnB,SAAS,EAAE,KAAK,EAAE,SAAS;aAC5B,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,KAAK,UAAU,qBAAqB,CAClC,gBAAwB;IAOxB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YACtE,MAAM,EAAE,CAAC,SAAS,CAAC;SACpB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,IAAI,SAAS;YAC/C,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI;YACtC,yEAAyE;YACzE,qEAAqE;YACrE,UAAU,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,IAAI,IAAI;YACjD,oEAAoE;YACpE,2CAA2C;YAC3C,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI;SACtD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;QAC7E,sBAAsB;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAcjC;IACC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,mFAAmF;IACnF,mFAAmF;IACnF,sEAAsE;IACtE,IAAI,QAAQ,CAAC,WAAW;QAAE,MAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE;QAC7C,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;KAC/D,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC/C,CAAC;AA4BD,gDAAgD;AAChD,MAAM,UAAU,OAAO,CAAC,QAAqB,EAAE,KAA2B;IACxE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,QAAQ,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC,aAAa,CAAC;IACvD,OAAO,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,SAAiB,EACjB,OAAiB;IAEjB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE;QACjE,MAAM,EAAE,CAAC,YAAY,CAAC;KACvB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE/B,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE;QAC/C,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,uEAAuE;YACvE,wEAAwE;YACxE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;SACzC,CAAC,CAAC;KACJ,CAAC,CAAC;AACL,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { type LocalTaxOrigin } from "./tax-origins.js";
1
2
  export interface BillingUser {
2
3
  id: string;
3
4
  email: string;
@@ -169,113 +170,7 @@ export interface BillingConfig {
169
170
  * same account charged 22% IVA: nothing was wrong at any one site, there was
170
171
  * simply no single place that said what the account does.
171
172
  */
172
- tax?: {
173
- /**
174
- * Where YOU are established, as an ISO country code ("IT", "FR", "US").
175
- *
176
- * Setting it selects `mode: "local"` — the library works the rate out
177
- * itself (`eu-vat-rates-data` + VIES) from the customer's address and tax id, and
178
- * applies it as an explicit Stripe TaxRate. It decides domestic vs
179
- * cross-border, which is the whole question a VAT rate turns on, so there is
180
- * nothing else to configure.
181
- */
182
- origin?: string;
183
- /** Override the mode `origin` / `automatic` imply. See `TaxMode`. */
184
- mode?: "local" | "stripe" | "none";
185
- /**
186
- * Where you are registered to collect tax, under `mode: "local"`.
187
- *
188
- * The second input a rate needs and no dataset can supply. `origin` says where
189
- * you are established; this says where you have taken on an obligation, which is
190
- * what actually decides whether a sale is taxed at all.
191
- *
192
- * **Undefined is "the caller did not say"**, never "registered nowhere": the
193
- * regime rules alone then decide (your domestic sales, plus the EU cross-border
194
- * rules), which is what every deployment predating this option already gets.
195
- * Declaring it switches to one rule for everywhere, domestic included — tax is
196
- * due where you say you are registered and nowhere else — so `[]` is a real
197
- * statement and not the same as omitting it.
198
- *
199
- * ```ts
200
- * // An Italian seller who also holds a UK registration.
201
- * registrations: [{ country: "IT" }, { country: "GB" }]
202
- * // A US seller with nexus in two states, and none anywhere else.
203
- * registrations: [{ country: "US", state: "CA" }, { country: "US", state: "TX" }]
204
- * ```
205
- *
206
- * This is what makes a US destination answerable rather than a refusal: post-
207
- * Wayfair you must NOT collect in a state until you have nexus there, so for the
208
- * common case — no registration — 0% is the complete and correct answer, needing
209
- * no flag to permit it. Where you ARE registered, the charge still refuses,
210
- * because this library has no US rate; that is what `mode: "stripe"` is for.
211
- *
212
- * One obligation is deliberately not gated by it: destination VAT on a sale from
213
- * outside the EU to an EU consumer arises with no threshold to sit under, so an
214
- * empty list cannot wish it away.
215
- */
216
- registrations?: readonly {
217
- country: string;
218
- state?: string;
219
- }[];
220
- /**
221
- * Mandatory invoice wording, per outcome. `mode: "local"` only.
222
- *
223
- * ```ts
224
- * // A French micro-entreprise under the franchise en base:
225
- * notes: {
226
- * exempt: "TVA non applicable, art. 293 B du CGI",
227
- * reverseCharge: "Autoliquidation, art. 196 dir. 2006/112/CE",
228
- * }
229
- * ```
230
- *
231
- * Where a regime requires the invoice to state WHY a sale is untaxed, that
232
- * mention is not decoration: France fines €15 per invoice missing the 293 B
233
- * wording, and the CJEU held in C-247/21 that an omitted reverse-charge mention
234
- * cannot be cured afterwards. Supplying `exempt` makes billing-tools mint a 0%
235
- * Stripe TaxRate carrying it, so it renders as a tax line on every invoice from
236
- * every charge path. Supply nothing and an untaxed sale carries no line, exactly
237
- * as before.
238
- *
239
- * Stripe caps a TaxRate display name at 50 characters — the mention, not the
240
- * explanation.
241
- */
242
- notes?: {
243
- exempt?: string;
244
- reverseCharge?: string;
245
- };
246
- /**
247
- * Are you registered for the EU One-Stop Shop? Default true.
248
- *
249
- * It decides ONE case: a cross-border EU customer with no valid VAT number.
250
- * Reverse charge needs a valid id, so without one the sale is taxed somewhere —
251
- * registered, at the CUSTOMER's rate; not registered, at YOUR OWN, which is what
252
- * the sub-€10 000 regime allows and the only rate you can remit without a
253
- * foreign registration.
254
- *
255
- * Set `false` if you sell B2B and are not OSS-registered: an EU business that
256
- * cannot produce a valid id (below its own registration threshold, a typo, or
257
- * VIES unreachable — where this library charges rather than exempts) would
258
- * otherwise be billed its country's VAT, which you would have collected with
259
- * nowhere to pay it over.
260
- *
261
- * Domestic sales, valid-id reverse charge and non-EU sales are all unaffected.
262
- */
263
- oss?: boolean;
264
- /**
265
- * Resolve the TaxRate ids yourself, e.g. from your own records. Wins over
266
- * `mode` when it returns any — the hook exists to be authoritative.
267
- */
268
- rates?: (stripeCustomerId: string) => Promise<string[]> | string[];
269
- /**
270
- * Use Stripe Tax. Equivalent to `mode: "stripe"`, and ignored when `rates`
271
- * returns any (Stripe rejects both on one charge).
272
- *
273
- * Off unless set, everywhere: a charge with neither is untaxed rather than
274
- * quietly handed to Stripe Tax, which without an active registration
275
- * computes 0% and reports no error.
276
- */
277
- automatic?: boolean;
278
- };
173
+ tax?: TaxConfig;
279
174
  /** What the payment forms offer. See `defaultPaymentMethodConfig`. */
280
175
  paymentMethods?: {
281
176
  /**
@@ -291,6 +186,193 @@ export interface BillingConfig {
291
186
  link?: boolean;
292
187
  };
293
188
  }
189
+ /**
190
+ * A third-party tax calculation, as an injected function.
191
+ *
192
+ * `mode: "external"` exists because the two built-in answers do not cover everyone:
193
+ * `local` cannot compute US sales tax (no national rate exists), and Stripe Tax costs
194
+ * 0.5% of every taxed transaction. A provider — Numeral, Anrok, Kintsugi, Vertex — sits
195
+ * between them, and the calculation is INJECTED rather than built in so this package
196
+ * keeps no network I/O and stays testable offline.
197
+ *
198
+ * **No adapter ships.** One did briefly, for Numeral, written from a docs summary
199
+ * rather than the OpenAPI spec — and it could not have worked: the version header is
200
+ * mandatory, `customer` / `origin_address` / `order_details` are all required, and the
201
+ * response carries `total_tax_amount` rather than any rate field, so it would have
202
+ * thrown on every call. Writing an adapter needs the provider's spec in front of you
203
+ * and one real call against a sandbox. This type is the contract for doing that.
204
+ *
205
+ * Return `null` to mean "no tax applies", which is charged as untaxed. Throwing is
206
+ * also honest — it refuses the charge rather than guessing, which is what this library
207
+ * does everywhere else when it cannot answer.
208
+ */
209
+ export type TaxCalculator = (input: {
210
+ /** The Stripe customer the charge is for. */
211
+ customerId: string;
212
+ /** Destination, from the customer's Stripe address. */
213
+ country?: string;
214
+ state?: string | null;
215
+ postalCode?: string | null;
216
+ city?: string | null;
217
+ line1?: string | null;
218
+ /** The customer's tax id, if one is on file. Decides B2B treatment. */
219
+ taxNumber?: string | null;
220
+ }) => Promise<TaxCalculation | null> | TaxCalculation | null;
221
+ /**
222
+ * What a `TaxCalculator` answers. Applied as an explicit Stripe TaxRate.
223
+ *
224
+ * **A percentage, and that is an impedance mismatch worth knowing.** This library
225
+ * applies tax as a Stripe `TaxRate`, which is a percentage of the line — but providers
226
+ * return an AMOUNT (`total_tax_amount`), because that is what gets filed. Converting
227
+ * amount → percent can drift a cent from the provider's own figure on some baskets, and
228
+ * the provider's figure is the one on the return. If that matters for your volume, do
229
+ * not use this seam: charge through a provider that writes the amount itself, or use
230
+ * `mode: "stripe"`, where Stripe owns both the calculation and the invoice.
231
+ */
232
+ export type TaxCalculation = {
233
+ /** e.g. 8.875 for 8.875%. Zero is a valid answer and means no tax is due. */
234
+ percent: number;
235
+ /** What the invoice line says. Keep to 50 chars — Stripe's TaxRate limit. */
236
+ displayName?: string;
237
+ /** ISO country the rate belongs to, for the TaxRate object. */
238
+ country?: string;
239
+ /** True for a tax already included in the price. */
240
+ inclusive?: boolean;
241
+ /** Set where the customer accounts for the tax, so the invoice says so. */
242
+ reverseCharge?: boolean;
243
+ };
244
+ /** Settings every tax mode shares. */
245
+ type TaxConfigCommon = {
246
+ /**
247
+ * Where you are registered to collect tax.
248
+ *
249
+ * The second input a rate needs and no dataset can supply. `origin` says where you
250
+ * are established; this says where you took on an obligation, which is what decides
251
+ * whether a sale is taxed at all.
252
+ *
253
+ * ```ts
254
+ * registrations: [{ country: "IT" }, { country: "GB" }] // VAT registrations
255
+ * registrations: [{ country: "US", state: "CA" }] // US nexus
256
+ * ```
257
+ *
258
+ * **Undefined is "the caller did not say"**, never "registered nowhere": the regime
259
+ * rules alone then decide, which is what every deployment predating this option
260
+ * gets. Declared, there is ONE rule for everywhere including domestic — so `[]` says
261
+ * something omitting it cannot, and is how a small-business exemption (France's
262
+ * franchise en base, Germany's Kleinunternehmerregelung) is expressed: charge
263
+ * nothing, anywhere.
264
+ *
265
+ * One obligation is deliberately not gated by it: destination VAT on a sale from
266
+ * outside the EU to an EU consumer arises with no threshold to sit under.
267
+ */
268
+ registrations?: readonly {
269
+ country: string;
270
+ state?: string;
271
+ }[];
272
+ /**
273
+ * Mandatory invoice wording, per outcome.
274
+ *
275
+ * ```ts
276
+ * notes: {
277
+ * exempt: "TVA non applicable, art. 293 B du CGI",
278
+ * reverseCharge: "Autoliquidation, art. 196 dir. 2006/112/CE",
279
+ * }
280
+ * ```
281
+ *
282
+ * Where a regime requires the invoice to state WHY a sale is untaxed, that mention
283
+ * is not decoration: France fines €15 per invoice missing the 293 B wording, and the
284
+ * CJEU held in C-247/21 that an omitted reverse-charge mention cannot be cured
285
+ * afterwards. Supplying `exempt` mints a 0% Stripe TaxRate carrying it, so it renders
286
+ * as a tax line on every invoice from every charge path. Supply nothing and an
287
+ * untaxed sale carries no line, exactly as before.
288
+ *
289
+ * Stripe caps a TaxRate display name at 50 characters — the mention, not the
290
+ * explanation.
291
+ */
292
+ notes?: {
293
+ exempt?: string;
294
+ reverseCharge?: string;
295
+ };
296
+ /**
297
+ * Are you registered for the EU One-Stop Shop? Default true. `local` only.
298
+ *
299
+ * Decides ONE case: a cross-border EU customer with no valid VAT number. Reverse
300
+ * charge needs a valid id, so without one the sale is taxed somewhere — registered,
301
+ * at the CUSTOMER's rate; not registered, at YOUR OWN, which is what the sub-€10 000
302
+ * regime allows and the only rate you can remit without a foreign registration.
303
+ */
304
+ oss?: boolean;
305
+ /**
306
+ * Resolve the TaxRate ids yourself, e.g. from your own records.
307
+ *
308
+ * **Wins over `mode` when it returns any**, because the hook exists to be
309
+ * authoritative — which also makes it the one place a setting can go quietly dead:
310
+ * whatever this function does not account for is not applied, whatever the config
311
+ * says. Prefer `mode: "external"` with a `calculate` for a third-party provider;
312
+ * this is for per-ORG rates that `config.tax` cannot express.
313
+ */
314
+ rates?: (stripeCustomerId: string) => Promise<string[]> | string[];
315
+ /**
316
+ * Use Stripe Tax. Equivalent to `mode: "stripe"`, and ignored when `rates` returns
317
+ * any (Stripe rejects manual rates and `automatic_tax` on one charge).
318
+ *
319
+ * Off unless set: a charge with neither is untaxed rather than quietly handed to
320
+ * Stripe Tax, which without an active registration computes 0% and reports no error.
321
+ */
322
+ automatic?: boolean;
323
+ };
324
+ /**
325
+ * WHO calculates tax, declared ONCE for the whole deployment.
326
+ *
327
+ * Every charge the library builds reads this — the seat Checkout Session, the
328
+ * `buy_credits` top-up, the auto-reload invoice — so the answer to "does this account
329
+ * charge VAT" lives in one place instead of at each call site. That per-site
330
+ * arrangement is why the two charges with no form behind them once went out untaxed
331
+ * while every seat invoice on the same account charged 22% IVA.
332
+ *
333
+ * **The union is what makes `origin: "US"` with the local mode impossible to write.**
334
+ * The local engine has rates for 45 European countries and no others, so a US, AU, JP,
335
+ * SG, CA, IN, BR or MX establishment cannot compute its own domestic tax here. That
336
+ * used to typecheck and then throw on the first charge; it is now a compile error at
337
+ * the config site, which is where the decision was made.
338
+ */
339
+ export type TaxConfig = TaxConfigCommon & ({
340
+ /**
341
+ * This library calculates, in process, from `eu-vat-rates-data` + VIES, and
342
+ * applies the answer as an explicit Stripe TaxRate. The default.
343
+ */
344
+ mode?: "local";
345
+ /**
346
+ * Where YOU are established. Decides domestic vs cross-border, which is the
347
+ * whole question a VAT rate turns on.
348
+ *
349
+ * Constrained to the countries the local engine has rates for. If yours is
350
+ * absent — the US above all — that is a fact about published rate data, not an
351
+ * omission: use `mode: "stripe"` or `mode: "external"`.
352
+ *
353
+ * Omitted, it falls back to the Stripe account's own country, and a fallback
354
+ * the local engine cannot compute is caught at boot instead.
355
+ */
356
+ origin?: LocalTaxOrigin;
357
+ } | {
358
+ /** Stripe Tax (`automatic_tax`). 0.5% per taxed transaction, and it needs
359
+ * registrations — without one it returns ZERO tax rather than an error. */
360
+ mode: "stripe";
361
+ origin?: string;
362
+ } | {
363
+ /** A third-party provider, injected. See `TaxCalculator`. */
364
+ mode: "external";
365
+ origin?: string;
366
+ /** Your provider. None ships — see the note on `TaxCalculator` for why, and
367
+ * for what it cannot reach yet. */
368
+ calculate: TaxCalculator;
369
+ } | {
370
+ /** No tax on anything the library charges. Correct for an account that
371
+ * genuinely charges none, and something you write down rather than arrive at
372
+ * by omission. */
373
+ mode: "none";
374
+ origin?: string;
375
+ });
294
376
  export type ResolvedConfig = Required<Omit<BillingConfig, "tax" | "paymentMethods">> & Pick<BillingConfig, "tax" | "paymentMethods">;
295
377
  export declare function resolveConfig(c: BillingConfig): ResolvedConfig;
296
378
  /** Build the `internalDomains` allowlist from the environment: an optional
@@ -315,4 +397,5 @@ export type ToolErrorResult = {
315
397
  text: string;
316
398
  }>;
317
399
  };
400
+ export {};
318
401
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,8 +1,33 @@
1
- // The storage seam. `orgId` is an opaque string — a WorkOS org id, a Postgres
2
- // workspace id ("ws_…"), whatever the host uses. Implement this and the rest of
3
- // billing-tools (auth flow, metering, all Stripe math, tool/route/CLI surfaces)
4
- // works unchanged.
1
+ import { isLocalTaxOrigin } from "./tax-origins.js";
2
+ /** `taxModeOf` without importing tax.ts, which imports this file. Same precedence. */
3
+ function taxModeOfConfig(tax) {
4
+ if (tax?.mode)
5
+ return tax.mode;
6
+ if (tax?.automatic)
7
+ return "stripe";
8
+ return "local";
9
+ }
5
10
  export function resolveConfig(c) {
11
+ // The half the type system cannot reach.
12
+ //
13
+ // `TaxConfig` makes `{ mode: "local", origin: "US" }` a compile error, which covers
14
+ // the case where the establishment is WRITTEN DOWN. It cannot cover the case where it
15
+ // is inferred: omit `origin` and the local engine falls back to the Stripe account's
16
+ // country, so a US Stripe account with no declared origin is a local-mode US seller
17
+ // that typechecks perfectly and then refuses its first charge.
18
+ //
19
+ // A cast is also a way in — `origin: x as LocalTaxOrigin`, or a config assembled from
20
+ // env strings. So the same rule is checked here, at boot, where it is loud and early and
21
+ // where the stack points at the config rather than at a customer's checkout.
22
+ const declared = c.tax && "origin" in c.tax ? c.tax.origin : undefined;
23
+ if (declared && taxModeOfConfig(c.tax) === "local" && !isLocalTaxOrigin(declared)) {
24
+ throw new Error(`config.tax.origin "${declared}" cannot be used with mode "local": this library ` +
25
+ "has rates for 45 European countries and no others, so it cannot compute a " +
26
+ `domestic rate for ${declared}. That is a fact about published rate data, not a ` +
27
+ 'gap — use `mode: "stripe"` (Stripe Tax, 0.5% per taxed transaction, and the ' +
28
+ 'supported answer for a US establishment), or `mode: "external"` with your own ' +
29
+ "`calculate` if you have a provider that answers with a rate.");
30
+ }
6
31
  return {
7
32
  freeCredits: c.freeCredits ?? 100,
8
33
  currency: c.currency ?? "usd",
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,mBAAmB;AA2SnB,MAAM,UAAU,aAAa,CAAC,CAAgB;IAC5C,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,GAAG;QACjC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK;QAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE;QACxC,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE;QACpC,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,cAAc,EAAE,CAAC,CAAC,cAAc;KACjC,CAAC;AACJ,CAAC;AAED;;;;;;mDAMmD;AACnD,MAAM,UAAU,sBAAsB,CACpC,UAA0B,EAC1B,MAAM,GAAG,sBAAsB;IAE/B,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACvC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAClC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAgazE,sFAAsF;AACtF,SAAS,eAAe,CAAC,GAA0B;IACjD,IAAI,GAAG,EAAE,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC/B,IAAI,GAAG,EAAE,SAAS;QAAE,OAAO,QAAQ,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAgB;IAC5C,yCAAyC;IACzC,EAAE;IACF,oFAAoF;IACpF,sFAAsF;IACtF,qFAAqF;IACrF,oFAAoF;IACpF,+DAA+D;IAC/D,EAAE;IACF,sFAAsF;IACtF,yFAAyF;IACzF,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,IAAI,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CACb,sBAAsB,QAAQ,mDAAmD;YAC/E,4EAA4E;YAC5E,qBAAqB,QAAQ,oDAAoD;YACjF,8EAA8E;YAC9E,gFAAgF;YAChF,8DAA8D,CACjE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,GAAG;QACjC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK;QAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE;QACxC,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE;QACpC,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,cAAc,EAAE,CAAC,CAAC,cAAc;KACjC,CAAC;AACJ,CAAC;AAED;;;;;;mDAMmD;AACnD,MAAM,UAAU,sBAAsB,CACpC,UAA0B,EAC1B,MAAM,GAAG,sBAAsB;IAE/B,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACvC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAClC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arnaudjnn/billing-tools",
3
- "version": "13.1.0",
3
+ "version": "15.0.0",
4
4
  "description": "The get-paid engine for Stripe + WorkOS apps, for humans and AI agents. Drop-in API-key auth, credit + subscription billing, auth.md agent registration, and MPP machine payments, as MCP tools, a REST API, and a CLI. Framework-agnostic, storage-pluggable.",
5
5
  "license": "MIT",
6
6
  "author": "Arnaud Jeannin",