@getpeppr/sdk 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Peppol Code Lists — Static lookup utilities
3
+ *
4
+ * Provides tree-shakeable helper functions for common Peppol-related code lists:
5
+ * countries, EAS schemes, unit codes, VAT categories, and payment means.
6
+ *
7
+ * All data is static — no API calls, no side effects.
8
+ */
9
+ /**
10
+ * Get the country name for an ISO 3166-1 alpha-2 code.
11
+ *
12
+ * @param code - Two-letter country code (case-insensitive)
13
+ * @returns Country name or `undefined` if not found
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * getCountryName("FR") // "France"
18
+ * getCountryName("XX") // undefined
19
+ * ```
20
+ */
21
+ export declare function getCountryName(code: string): string | undefined;
22
+ /**
23
+ * Get all supported countries.
24
+ *
25
+ * @returns Array of `{ code, name }` objects sorted by name
26
+ */
27
+ export declare function getAllCountries(): Array<{
28
+ code: string;
29
+ name: string;
30
+ }>;
31
+ /**
32
+ * A Peppol Electronic Address Scheme (EAS) entry.
33
+ */
34
+ export interface EasScheme {
35
+ /** Numeric EAS code (e.g. "0088") */
36
+ code: string;
37
+ /** Human-readable scheme name */
38
+ name: string;
39
+ /** ISO country code if scheme is country-specific */
40
+ country?: string;
41
+ }
42
+ /**
43
+ * Look up an EAS scheme by its numeric code.
44
+ *
45
+ * @param code - EAS code (e.g. "0088", "0208")
46
+ * @returns The scheme or `undefined` if not found
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * getEasScheme("0208") // { code: "0208", name: "Belgian Enterprise Number (KBO/BCE)", country: "BE" }
51
+ * getEasScheme("9999") // undefined
52
+ * ```
53
+ */
54
+ export declare function getEasScheme(code: string): EasScheme | undefined;
55
+ /**
56
+ * Get all known EAS schemes.
57
+ *
58
+ * @returns Array of EAS schemes sorted by code
59
+ */
60
+ export declare function getAllEasSchemes(): EasScheme[];
61
+ /**
62
+ * Resolve a human-readable unit name or alias to its UN/ECE Recommendation 20 code.
63
+ *
64
+ * Accepts both aliases ("hours", "kg") and canonical codes ("HUR", "KGM").
65
+ * Unknown values pass through unchanged.
66
+ *
67
+ * @param input - Unit name or code
68
+ * @returns Resolved UN/ECE code
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * resolveUnit("hours") // "HUR"
73
+ * resolveUnit("HUR") // "HUR"
74
+ * resolveUnit("kg") // "KGM"
75
+ * resolveUnit("XYZ") // "XYZ" (passthrough)
76
+ * ```
77
+ */
78
+ export declare function resolveUnit(input: string): string;
79
+ /**
80
+ * Get all supported unit codes with human-readable names.
81
+ *
82
+ * @returns Array of `{ code, name }` objects sorted by code
83
+ */
84
+ export declare function getAllUnits(): Array<{
85
+ code: string;
86
+ name: string;
87
+ }>;
88
+ /**
89
+ * A Peppol VAT category entry.
90
+ */
91
+ export interface VatCategory {
92
+ /** Category code (e.g. "S", "Z", "AE") */
93
+ code: string;
94
+ /** Short name */
95
+ name: string;
96
+ /** Longer description */
97
+ description: string;
98
+ }
99
+ /**
100
+ * Get all Peppol VAT category codes.
101
+ *
102
+ * @returns Array of VAT categories
103
+ */
104
+ export declare function getVatCategories(): VatCategory[];
105
+ /**
106
+ * A payment means code entry.
107
+ */
108
+ export interface PaymentMeansCode {
109
+ /** Numeric code */
110
+ code: number;
111
+ /** Human-readable description */
112
+ name: string;
113
+ }
114
+ /**
115
+ * Get all supported payment means codes.
116
+ *
117
+ * @returns Array of payment means codes sorted by code
118
+ */
119
+ export declare function getPaymentMeansCodes(): PaymentMeansCode[];
120
+ //# sourceMappingURL=code-lists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-lists.d.ts","sourceRoot":"","sources":["../../src/core/code-lists.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA6DH;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAIvE;AAID;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAgCD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,EAAE,CAE9C;AA4CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAInE;AAID;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAcD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,EAAE,CAEhD;AAID;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAcD;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,EAAE,CAEzD"}
@@ -0,0 +1,247 @@
1
+ /**
2
+ * Peppol Code Lists — Static lookup utilities
3
+ *
4
+ * Provides tree-shakeable helper functions for common Peppol-related code lists:
5
+ * countries, EAS schemes, unit codes, VAT categories, and payment means.
6
+ *
7
+ * All data is static — no API calls, no side effects.
8
+ */
9
+ // ─── Countries (ISO 3166-1 alpha-2) ───────────────────────────────────────────
10
+ /** EU + EEA + common Peppol trading partners (~50 most used) */
11
+ const COUNTRIES = new Map([
12
+ // EU member states
13
+ ["AT", "Austria"],
14
+ ["BE", "Belgium"],
15
+ ["BG", "Bulgaria"],
16
+ ["HR", "Croatia"],
17
+ ["CY", "Cyprus"],
18
+ ["CZ", "Czechia"],
19
+ ["DK", "Denmark"],
20
+ ["EE", "Estonia"],
21
+ ["FI", "Finland"],
22
+ ["FR", "France"],
23
+ ["DE", "Germany"],
24
+ ["GR", "Greece"],
25
+ ["HU", "Hungary"],
26
+ ["IE", "Ireland"],
27
+ ["IT", "Italy"],
28
+ ["LV", "Latvia"],
29
+ ["LT", "Lithuania"],
30
+ ["LU", "Luxembourg"],
31
+ ["MT", "Malta"],
32
+ ["NL", "Netherlands"],
33
+ ["PL", "Poland"],
34
+ ["PT", "Portugal"],
35
+ ["RO", "Romania"],
36
+ ["SK", "Slovakia"],
37
+ ["SI", "Slovenia"],
38
+ ["ES", "Spain"],
39
+ ["SE", "Sweden"],
40
+ // EEA (non-EU)
41
+ ["IS", "Iceland"],
42
+ ["LI", "Liechtenstein"],
43
+ ["NO", "Norway"],
44
+ // Common Peppol trading partners
45
+ ["GB", "United Kingdom"],
46
+ ["CH", "Switzerland"],
47
+ ["US", "United States"],
48
+ ["CA", "Canada"],
49
+ ["AU", "Australia"],
50
+ ["NZ", "New Zealand"],
51
+ ["SG", "Singapore"],
52
+ ["JP", "Japan"],
53
+ ["KR", "South Korea"],
54
+ ["IN", "India"],
55
+ ["TR", "Turkey"],
56
+ ["SA", "Saudi Arabia"],
57
+ ["AE", "United Arab Emirates"],
58
+ ["IL", "Israel"],
59
+ ["ZA", "South Africa"],
60
+ ["BR", "Brazil"],
61
+ ["MX", "Mexico"],
62
+ ["MY", "Malaysia"],
63
+ ["TH", "Thailand"],
64
+ ["ID", "Indonesia"],
65
+ ]);
66
+ /**
67
+ * Get the country name for an ISO 3166-1 alpha-2 code.
68
+ *
69
+ * @param code - Two-letter country code (case-insensitive)
70
+ * @returns Country name or `undefined` if not found
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * getCountryName("FR") // "France"
75
+ * getCountryName("XX") // undefined
76
+ * ```
77
+ */
78
+ export function getCountryName(code) {
79
+ return COUNTRIES.get(code.toUpperCase());
80
+ }
81
+ /**
82
+ * Get all supported countries.
83
+ *
84
+ * @returns Array of `{ code, name }` objects sorted by name
85
+ */
86
+ export function getAllCountries() {
87
+ return Array.from(COUNTRIES.entries())
88
+ .map(([code, name]) => ({ code, name }))
89
+ .sort((a, b) => a.name.localeCompare(b.name));
90
+ }
91
+ const EAS_SCHEMES = [
92
+ { code: "0002", name: "System Information et Repertoire des Entreprises et des Etablissements (SIRENE)", country: "FR" },
93
+ { code: "0007", name: "Organisationsnummer", country: "SE" },
94
+ { code: "0009", name: "SIRET-CODE", country: "FR" },
95
+ { code: "0088", name: "EAN Location Code (GLN)" },
96
+ { code: "0096", name: "Danish Chamber of Commerce (P-nummer)", country: "DK" },
97
+ { code: "0184", name: "Danish Central Business Register (CVR)", country: "DK" },
98
+ { code: "0190", name: "Dutch Chamber of Commerce (KVK)", country: "NL" },
99
+ { code: "0191", name: "Organisatie Identificatie Nummer (OIN)", country: "NL" },
100
+ { code: "0192", name: "Danish SE-number (Erhvervsstyrelsen)", country: "DK" },
101
+ { code: "0195", name: "Singapore Unique Entity Number (UEN)", country: "SG" },
102
+ { code: "0196", name: "Icelandic Kennitala", country: "IS" },
103
+ { code: "0198", name: "Danish ERST id (Erhvervsstyrelsen)", country: "DK" },
104
+ { code: "0200", name: "Lithuanian Legal Entity Register (GRIS)", country: "LT" },
105
+ { code: "0201", name: "Italian Codice Destinatario", country: "IT" },
106
+ { code: "0202", name: "Italian Fiscal Code (Codice Fiscale)", country: "IT" },
107
+ { code: "0204", name: "German Leitweg-ID", country: "DE" },
108
+ { code: "0208", name: "Belgian Enterprise Number (KBO/BCE)", country: "BE" },
109
+ { code: "0209", name: "German Creditor Identifier (GS1)", country: "DE" },
110
+ { code: "0210", name: "Italian Codice Fiscale (per IPA)", country: "IT" },
111
+ { code: "0211", name: "Italian Partita IVA (VAT number)", country: "IT" },
112
+ { code: "0212", name: "Finnish OVT code", country: "FI" },
113
+ { code: "0213", name: "Finnish OP identifier", country: "FI" },
114
+ ];
115
+ /** Lookup index: EAS code → scheme */
116
+ const EAS_BY_CODE = new Map(EAS_SCHEMES.map((s) => [s.code, s]));
117
+ /**
118
+ * Look up an EAS scheme by its numeric code.
119
+ *
120
+ * @param code - EAS code (e.g. "0088", "0208")
121
+ * @returns The scheme or `undefined` if not found
122
+ *
123
+ * @example
124
+ * ```ts
125
+ * getEasScheme("0208") // { code: "0208", name: "Belgian Enterprise Number (KBO/BCE)", country: "BE" }
126
+ * getEasScheme("9999") // undefined
127
+ * ```
128
+ */
129
+ export function getEasScheme(code) {
130
+ return EAS_BY_CODE.get(code);
131
+ }
132
+ /**
133
+ * Get all known EAS schemes.
134
+ *
135
+ * @returns Array of EAS schemes sorted by code
136
+ */
137
+ export function getAllEasSchemes() {
138
+ return [...EAS_SCHEMES];
139
+ }
140
+ // ─── Unit Codes (UN/ECE Recommendation 20) ────────────────────────────────────
141
+ /** Human-readable aliases → UN/ECE unit codes */
142
+ const UNIT_ALIAS_MAP = {
143
+ each: "EA", piece: "EA", pieces: "EA",
144
+ hour: "HUR", hours: "HUR",
145
+ day: "DAY", days: "DAY",
146
+ week: "WEE", weeks: "WEE",
147
+ month: "MON", months: "MON",
148
+ year: "ANN", years: "ANN",
149
+ kilogram: "KGM", kg: "KGM",
150
+ meter: "MTR", metre: "MTR",
151
+ liter: "LTR", litre: "LTR",
152
+ unit: "C62", units: "C62",
153
+ set: "SET", sets: "SET",
154
+ pack: "PK", packs: "PK",
155
+ minute: "MIN", minutes: "MIN",
156
+ second: "SEC", seconds: "SEC",
157
+ tonne: "TNE", ton: "TNE",
158
+ "square metre": "MTK", "square meter": "MTK", sqm: "MTK",
159
+ };
160
+ /** Canonical unit codes with human-readable names */
161
+ const UNIT_CODES = new Map([
162
+ ["EA", "Each"],
163
+ ["HUR", "Hour"],
164
+ ["DAY", "Day"],
165
+ ["WEE", "Week"],
166
+ ["MON", "Month"],
167
+ ["ANN", "Year"],
168
+ ["MIN", "Minute"],
169
+ ["SEC", "Second"],
170
+ ["KGM", "Kilogram"],
171
+ ["MTR", "Metre"],
172
+ ["LTR", "Litre"],
173
+ ["MTK", "Square metre"],
174
+ ["TNE", "Tonne"],
175
+ ["C62", "One (unit)"],
176
+ ["SET", "Set"],
177
+ ["PK", "Pack"],
178
+ ]);
179
+ /**
180
+ * Resolve a human-readable unit name or alias to its UN/ECE Recommendation 20 code.
181
+ *
182
+ * Accepts both aliases ("hours", "kg") and canonical codes ("HUR", "KGM").
183
+ * Unknown values pass through unchanged.
184
+ *
185
+ * @param input - Unit name or code
186
+ * @returns Resolved UN/ECE code
187
+ *
188
+ * @example
189
+ * ```ts
190
+ * resolveUnit("hours") // "HUR"
191
+ * resolveUnit("HUR") // "HUR"
192
+ * resolveUnit("kg") // "KGM"
193
+ * resolveUnit("XYZ") // "XYZ" (passthrough)
194
+ * ```
195
+ */
196
+ export function resolveUnit(input) {
197
+ return UNIT_ALIAS_MAP[input.toLowerCase()] ?? input;
198
+ }
199
+ /**
200
+ * Get all supported unit codes with human-readable names.
201
+ *
202
+ * @returns Array of `{ code, name }` objects sorted by code
203
+ */
204
+ export function getAllUnits() {
205
+ return Array.from(UNIT_CODES.entries())
206
+ .map(([code, name]) => ({ code, name }))
207
+ .sort((a, b) => a.code.localeCompare(b.code));
208
+ }
209
+ const VAT_CATEGORIES = [
210
+ { code: "S", name: "Standard rate", description: "Standard VAT rate applies" },
211
+ { code: "Z", name: "Zero rated", description: "Zero-rated goods — VAT at 0% but right to deduct input VAT" },
212
+ { code: "E", name: "Exempt", description: "Exempt from VAT — no right to deduct input VAT" },
213
+ { code: "AE", name: "Reverse charge", description: "VAT reverse charge — customer accounts for VAT" },
214
+ { code: "K", name: "Intra-community supply", description: "Intra-community supply of goods — exempt with right to deduct" },
215
+ { code: "G", name: "Export outside the EU", description: "Free export item — tax not charged" },
216
+ { code: "O", name: "Outside scope of VAT", description: "Services outside scope of VAT" },
217
+ { code: "L", name: "Canary Islands IGIC", description: "Canary Islands general indirect tax (IGIC)" },
218
+ { code: "M", name: "Ceuta and Melilla IPSI", description: "Tax for production, services and importation in Ceuta and Melilla (IPSI)" },
219
+ ];
220
+ /**
221
+ * Get all Peppol VAT category codes.
222
+ *
223
+ * @returns Array of VAT categories
224
+ */
225
+ export function getVatCategories() {
226
+ return [...VAT_CATEGORIES];
227
+ }
228
+ const PAYMENT_MEANS_CODES = [
229
+ { code: 10, name: "Cash" },
230
+ { code: 20, name: "Cheque" },
231
+ { code: 30, name: "Credit transfer" },
232
+ { code: 42, name: "Payment to bank account" },
233
+ { code: 48, name: "Bank card" },
234
+ { code: 49, name: "Direct debit" },
235
+ { code: 57, name: "Standing agreement" },
236
+ { code: 58, name: "SEPA credit transfer" },
237
+ { code: 59, name: "SEPA direct debit" },
238
+ ];
239
+ /**
240
+ * Get all supported payment means codes.
241
+ *
242
+ * @returns Array of payment means codes sorted by code
243
+ */
244
+ export function getPaymentMeansCodes() {
245
+ return [...PAYMENT_MEANS_CODES];
246
+ }
247
+ //# sourceMappingURL=code-lists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-lists.js","sourceRoot":"","sources":["../../src/core/code-lists.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Country-Specific Validation Rules
3
+ *
4
+ * Produces warnings (not blocking errors) for country-specific invoice requirements.
5
+ * Invoices can still be sent, but developers get helpful feedback about
6
+ * local compliance expectations.
7
+ *
8
+ * Each rule has a unique ID: {CC}-{NN} (e.g., BE-01, FR-02).
9
+ */
10
+ import type { InvoiceInput, ValidationError, ValidationWarning } from "../types/invoice.js";
11
+ export interface CountryValidationResult {
12
+ errors: ValidationError[];
13
+ warnings: ValidationWarning[];
14
+ }
15
+ /**
16
+ * Validate country-specific rules for an invoice.
17
+ *
18
+ * Returns warnings for common compliance issues specific to the
19
+ * recipient's country. These are advisory — the invoice can still be sent.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const result = validateCountryRules(invoice);
24
+ * for (const w of result.warnings) {
25
+ * console.warn(`[${w.ruleId}] ${w.field}: ${w.message}`);
26
+ * }
27
+ * ```
28
+ */
29
+ export declare function validateCountryRules(input: InvoiceInput): CountryValidationResult;
30
+ //# sourceMappingURL=country-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"country-rules.d.ts","sourceRoot":"","sources":["../../src/core/country-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAoLD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,uBAAuB,CAgBjF"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Country-Specific Validation Rules
3
+ *
4
+ * Produces warnings (not blocking errors) for country-specific invoice requirements.
5
+ * Invoices can still be sent, but developers get helpful feedback about
6
+ * local compliance expectations.
7
+ *
8
+ * Each rule has a unique ID: {CC}-{NN} (e.g., BE-01, FR-02).
9
+ */
10
+ // ─── Helpers ─────────────────────────────────────────────────
11
+ function warn(field, message, ruleId) {
12
+ return { field, message, ruleId };
13
+ }
14
+ // ─── Belgium (BE) ────────────────────────────────────────────
15
+ /**
16
+ * Belgian structured communication format: +++NNN/NNNN/NNNNN+++
17
+ * The last 2 of the 12 digits are a mod-97 check digit.
18
+ * If base mod 97 === 0, the check digit is 97.
19
+ */
20
+ const BE_STRUCTURED_RE = /^\+{3}\d{3}\/\d{4}\/\d{5}\+{3}$/;
21
+ function validateBelgianCheckDigit(reference) {
22
+ // Extract the 12 digits from +++NNN/NNNN/NNNNN+++
23
+ const digits = reference.replace(/[^0-9]/g, "");
24
+ if (digits.length !== 12)
25
+ return false;
26
+ const base = parseInt(digits.slice(0, 10), 10);
27
+ const check = parseInt(digits.slice(10, 12), 10);
28
+ const expected = base % 97 === 0 ? 97 : base % 97;
29
+ return check === expected;
30
+ }
31
+ function validateBelgium(input, _errors, warnings) {
32
+ const ref = input.paymentReference;
33
+ if (ref && BE_STRUCTURED_RE.test(ref)) {
34
+ // It's in structured format — verify the checksum
35
+ if (!validateBelgianCheckDigit(ref)) {
36
+ warnings.push(warn("paymentReference", `Belgian structured communication "${ref}" has an invalid mod-97 checksum. Verify the reference.`, "BE-01"));
37
+ }
38
+ }
39
+ else if (!ref) {
40
+ warnings.push(warn("paymentReference", "Belgian recipients typically expect a structured communication reference (+++NNN/NNNN/NNNNN+++ format).", "BE-02"));
41
+ }
42
+ }
43
+ // ─── France (FR) ─────────────────────────────────────────────
44
+ const FR_SIRET_RE = /^\d{14}$/;
45
+ const FR_VAT_RE = /^FR[A-Z0-9]{2}\d{9}$/;
46
+ function validateFrance(input, _errors, warnings) {
47
+ const { companyId, vatNumber } = input.to ?? {};
48
+ if (companyId && !FR_SIRET_RE.test(companyId)) {
49
+ warnings.push(warn("to.companyId", `French company ID (SIRET) should be exactly 14 digits, got "${companyId}".`, "FR-01"));
50
+ }
51
+ if (vatNumber && !FR_VAT_RE.test(vatNumber)) {
52
+ warnings.push(warn("to.vatNumber", `French VAT number should match format FR + 2 characters + 9 digits (SIREN), got "${vatNumber}".`, "FR-02"));
53
+ }
54
+ }
55
+ // ─── Italy (IT) ──────────────────────────────────────────────
56
+ function validateItaly(input, _errors, warnings) {
57
+ if (!input.buyerReference) {
58
+ warnings.push(warn("buyerReference", "Italian recipients (SDI) typically require a buyer reference (CIG/CUP code). Consider setting buyerReference.", "IT-01"));
59
+ }
60
+ const peppolId = input.to?.peppolId;
61
+ if (peppolId?.startsWith("0201:")) {
62
+ const fiscalCode = peppolId.slice(5);
63
+ if (fiscalCode.length !== 11 && fiscalCode.length !== 16) {
64
+ warnings.push(warn("to.peppolId", `Italian fiscal code (after 0201:) should be 11 digits (partita IVA) or 16 characters (codice fiscale), got ${fiscalCode.length} characters.`, "IT-02"));
65
+ }
66
+ }
67
+ }
68
+ // ─── Netherlands (NL) ───────────────────────────────────────
69
+ const NL_KVK_RE = /^\d{8}$/;
70
+ const NL_VAT_RE = /^NL\d{9}B\d{2}$/;
71
+ function validateNetherlands(input, _errors, warnings) {
72
+ const { companyId, vatNumber } = input.to ?? {};
73
+ if (companyId && !NL_KVK_RE.test(companyId)) {
74
+ warnings.push(warn("to.companyId", `Dutch KVK number should be exactly 8 digits, got "${companyId}".`, "NL-01"));
75
+ }
76
+ if (vatNumber && !NL_VAT_RE.test(vatNumber)) {
77
+ warnings.push(warn("to.vatNumber", `Dutch VAT number should match format NL + 9 digits + B + 2 digits, got "${vatNumber}".`, "NL-02"));
78
+ }
79
+ }
80
+ // ─── Germany (DE) ────────────────────────────────────────────
81
+ const DE_VAT_RE = /^DE\d{9}$/;
82
+ function validateGermany(input, _errors, warnings) {
83
+ const { vatNumber } = input.to ?? {};
84
+ if (vatNumber && !DE_VAT_RE.test(vatNumber)) {
85
+ warnings.push(warn("to.vatNumber", `German VAT number should match format DE + 9 digits, got "${vatNumber}".`, "DE-01"));
86
+ }
87
+ }
88
+ // ─── Main Entry Point ───────────────────────────────────────
89
+ /**
90
+ * Validate country-specific rules for an invoice.
91
+ *
92
+ * Returns warnings for common compliance issues specific to the
93
+ * recipient's country. These are advisory — the invoice can still be sent.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * const result = validateCountryRules(invoice);
98
+ * for (const w of result.warnings) {
99
+ * console.warn(`[${w.ruleId}] ${w.field}: ${w.message}`);
100
+ * }
101
+ * ```
102
+ */
103
+ export function validateCountryRules(input) {
104
+ const errors = [];
105
+ const warnings = [];
106
+ const country = input.to?.country;
107
+ if (!country)
108
+ return { errors, warnings };
109
+ switch (country) {
110
+ case "BE":
111
+ validateBelgium(input, errors, warnings);
112
+ break;
113
+ case "FR":
114
+ validateFrance(input, errors, warnings);
115
+ break;
116
+ case "IT":
117
+ validateItaly(input, errors, warnings);
118
+ break;
119
+ case "NL":
120
+ validateNetherlands(input, errors, warnings);
121
+ break;
122
+ case "DE":
123
+ validateGermany(input, errors, warnings);
124
+ break;
125
+ }
126
+ return { errors, warnings };
127
+ }
128
+ //# sourceMappingURL=country-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"country-rules.js","sourceRoot":"","sources":["../../src/core/country-rules.ts"],"names":[],"mappings":"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"}