@ekwo-ai/core 0.12.2 → 0.14.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 (37) hide show
  1. package/dist/books/columns.d.ts +2 -1
  2. package/dist/books/columns.d.ts.map +1 -1
  3. package/dist/books/columns.js +3 -1
  4. package/dist/books/columns.js.map +1 -1
  5. package/dist/books/imports.d.ts +7 -1
  6. package/dist/books/imports.d.ts.map +1 -1
  7. package/dist/books/imports.js +47 -12
  8. package/dist/books/imports.js.map +1 -1
  9. package/dist/books/payments.d.ts +28 -2
  10. package/dist/books/payments.d.ts.map +1 -1
  11. package/dist/books/payments.js +28 -10
  12. package/dist/books/payments.js.map +1 -1
  13. package/dist/client.d.ts +8 -1
  14. package/dist/client.d.ts.map +1 -1
  15. package/dist/client.js +14 -0
  16. package/dist/client.js.map +1 -1
  17. package/dist/einvoicing/fiscalisation.d.ts +213 -0
  18. package/dist/einvoicing/fiscalisation.d.ts.map +1 -0
  19. package/dist/einvoicing/fiscalisation.js +442 -0
  20. package/dist/einvoicing/fiscalisation.js.map +1 -0
  21. package/dist/einvoicing/index.d.ts +5 -1
  22. package/dist/einvoicing/index.d.ts.map +1 -1
  23. package/dist/einvoicing/index.js +5 -1
  24. package/dist/einvoicing/index.js.map +1 -1
  25. package/dist/einvoicing/issue.d.ts +6 -0
  26. package/dist/einvoicing/issue.d.ts.map +1 -1
  27. package/dist/einvoicing/issue.js +13 -5
  28. package/dist/einvoicing/issue.js.map +1 -1
  29. package/dist/einvoicing/peppol.d.ts +77 -0
  30. package/dist/einvoicing/peppol.d.ts.map +1 -0
  31. package/dist/einvoicing/peppol.js +100 -0
  32. package/dist/einvoicing/peppol.js.map +1 -0
  33. package/dist/schema.d.ts +1 -1
  34. package/dist/schema.js +1 -1
  35. package/dist/types.d.ts +35 -0
  36. package/dist/types.d.ts.map +1 -1
  37. package/package.json +15 -14
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAA6B,KAAK,UAAU,EAAoB,MAAM,cAAc,CAAC;AAC5F,OAAO,KAAK,EACV,cAAc,EACd,KAAK,EACL,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,eAAe,EACf,IAAI,EACJ,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpE;AAED,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CACzF;AAED,qBAAa,SAAU,SAAQ,KAAK;IACzB,IAAI,SAAe;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAI3C;AAYD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;CACb;AAED,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAE7C,0DAA0D;IACpD,YAAY,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IAKpD,yDAAyD;IACnD,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IAK9C;;;OAGG;IACG,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASnF,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAS5D,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAStD,WAAW,CACf,SAAS,EAAE,IAAI,EACf,EAAE,EAAE,OAAO,EACX,KAAK,GAAE,YAAY,GAAG,SAAwB,GAC7C,OAAO,CAAC,cAAc,EAAE,CAAC;IAS5B,gEAAgE;IAC1D,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAS5E;;;OAGG;IACG,YAAY,CAChB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,eAA6B,GACrC,OAAO,CAAC,QAAQ,CAAC;IASpB;;;OAGG;IACG,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;IAO/D;;;OAGG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOzD,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAK7C,+EAA+E;IACzE,sBAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS9E"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAA6B,KAAK,UAAU,EAAoB,MAAM,cAAc,CAAC;AAC5F,OAAO,KAAK,EACV,cAAc,EACd,KAAK,EACL,oBAAoB,EACpB,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,eAAe,EACf,IAAI,EACJ,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpE;AAED,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CACzF;AAED,qBAAa,SAAU,SAAQ,KAAK;IACzB,IAAI,SAAe;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAI3C;AAYD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;CACb;AAED,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAE7C,0DAA0D;IACpD,YAAY,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IAKpD,yDAAyD;IACnD,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IAK9C;;;OAGG;IACG,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASnF,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IASlE;;;;;OAKG;IACG,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAStE,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAStD,WAAW,CACf,SAAS,EAAE,IAAI,EACf,EAAE,EAAE,OAAO,EACX,KAAK,GAAE,YAAY,GAAG,SAAwB,GAC7C,OAAO,CAAC,cAAc,EAAE,CAAC;IAS5B,gEAAgE;IAC1D,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAS5E;;;OAGG;IACG,YAAY,CAChB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,eAA6B,GACrC,OAAO,CAAC,QAAQ,CAAC;IASpB;;;OAGG;IACG,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;IAO/D;;;OAGG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOzD,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAK7C,+EAA+E;IACzE,sBAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS9E"}
package/dist/client.js CHANGED
@@ -63,6 +63,20 @@ export class EkwoClient {
63
63
  });
64
64
  return unwrap(result, 'trial_balance');
65
65
  }
66
+ /**
67
+ * The aggregates an analysis of the books is computed from — revenue, net
68
+ * result, equity, total and current assets, cash, receivables, payables… —
69
+ * as the company's pack defines them, each with the accounts that make it.
70
+ * Empty for a company whose pack says nothing about an analysis.
71
+ */
72
+ async financialAnalysis(range) {
73
+ const result = await this.db.rpc('financial_analysis', {
74
+ p_company_id: range.companyId,
75
+ p_from: range.from,
76
+ p_to: range.to,
77
+ });
78
+ return unwrap(result, 'financial_analysis');
79
+ }
66
80
  async vatReturn(range) {
67
81
  const result = await this.db.rpc('vat_return', {
68
82
  p_company_id: range.companyId,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * Fiscalisation: the chained record a country requires the invoicing
3
+ * software to leave for every invoice it issues.
4
+ *
5
+ * A capability of the `einvoicing` module, and the same shape as issuing an
6
+ * electronic invoice: a posted sale, an artefact a brick writes, a state the
7
+ * database records. Here the artefact is a fiscal record, and what the
8
+ * database keeps is a chain — each record carries the hash of the one before
9
+ * it, in one company and one invoicing system.
10
+ *
11
+ * **The core knows no country.** Whether a company has such a regime, and
12
+ * every rule of it, is the `einvoicing.fiscalisation` block of its country
13
+ * pack, which the socle compiles into `country_defaults.einvoice_fiscalisation`
14
+ * and `einvoicing.fiscal_regime()` reads back. Which brick writes the record
15
+ * is the pack's `format`, looked up in `FISCALISATION_FORMATS` — the same
16
+ * pattern as `EINVOICE_FORMATS` — and a format no brick of this release writes
17
+ * is refused by name, `format_without_brick`.
18
+ *
19
+ * **The gesture is explicit.** Nothing here runs on posting. A posted sale of
20
+ * a company whose pack declares a regime and that has no record is named by
21
+ * `fiscalisationStatus()`, and `fiscaliseDocument()` is called by somebody who
22
+ * decided to chain it — `ekwo einvoice fiscalise`, `einvoicing_fiscalise`.
23
+ *
24
+ * What only a program can do is here: run the brick, read the tail of the
25
+ * chain, read the hashed fields back out of the text the brick hashed. What
26
+ * can be checked without trusting this code is checked again by
27
+ * `einvoicing.append_fiscal_record()`: the regime, the digest, the fields, the
28
+ * tail, a record made once.
29
+ */
30
+ import { type Backend, type Row } from '../books/backend.js';
31
+ import type { EinvoiceViolation } from './formats.js';
32
+ /** How the records of an invoicing system reach the authority. */
33
+ export type FiscalSubmissionMode = 'realtime' | 'batch' | 'none';
34
+ export declare const FISCAL_SUBMISSION_MODES: readonly ["realtime", "batch", "none"];
35
+ /** What a record says of its invoice: issued, or its record cancelled. */
36
+ export type FiscalRecordKind = 'alta' | 'anulacion';
37
+ export declare const FISCAL_RECORD_KINDS: readonly ["alta", "anulacion"];
38
+ /**
39
+ * The invoicing system that generates the record. Every field is a fact of
40
+ * the product or of its installation that the operator states, and none is
41
+ * invented here. The three booleans are facts a regime may ask of the
42
+ * product — whether it can only send, whether it can keep the books of
43
+ * several taxpayers, whether it does now; a brick whose regime does not ask
44
+ * ignores them.
45
+ */
46
+ export interface FiscalSystem {
47
+ name: string;
48
+ id: string;
49
+ version: string;
50
+ installation: string;
51
+ producerName: string;
52
+ producerTaxId: string;
53
+ verifactuOnly?: boolean;
54
+ multipleTaxpayers?: boolean;
55
+ multipleTaxpayersNow?: boolean;
56
+ }
57
+ /** One record to write: the document as the books publish it, and what only the system knows. */
58
+ export interface FiscalRecordInput {
59
+ header: Row;
60
+ lines: Row[];
61
+ taxes: Row[];
62
+ kind: FiscalRecordKind;
63
+ /** ISO 8601 with its offset: `2027-01-04T10:15:00+01:00`. */
64
+ generatedAt: string;
65
+ system: FiscalSystem;
66
+ /** The record before it in this system, or null for the first. */
67
+ previous: {
68
+ taxId: string;
69
+ series: string;
70
+ number: string;
71
+ issuedOn: string;
72
+ hash: string;
73
+ } | null;
74
+ }
75
+ /** What a brick of `packages/formats/` provides for one fiscalisation format. */
76
+ export interface FiscalisationFormat {
77
+ /** The name a pack declares in `einvoicing.fiscalisation.format`. */
78
+ format: string;
79
+ /** The package that writes it, by its published name. */
80
+ brick: string;
81
+ /** What the record declares it follows. */
82
+ specification: string;
83
+ /** The exact text the regime hashes. */
84
+ hashInput(input: FiscalRecordInput): string;
85
+ /** Its digest, as the record carries it. */
86
+ hash(input: FiscalRecordInput): string;
87
+ write(input: FiscalRecordInput): {
88
+ content: string;
89
+ filename: string;
90
+ mediaType: string;
91
+ violations: EinvoiceViolation[];
92
+ };
93
+ /** What the QR code of the invoice encodes, for a mode of submission. */
94
+ verificationUrl(input: FiscalRecordInput, mode: FiscalSubmissionMode, environment?: 'production' | 'test'): string;
95
+ }
96
+ /** Every fiscalisation format a brick of this release writes, by the name a pack declares it under. */
97
+ export declare const FISCALISATION_FORMATS: Readonly<Record<string, FiscalisationFormat>>;
98
+ /**
99
+ * The format of a pack's regime, or the refusal that names the missing brick.
100
+ * Nothing is written in the nearest format that exists: a record in another
101
+ * format is a record the authority refuses.
102
+ */
103
+ export declare function fiscalisationFormat(format: string, formats?: Readonly<Record<string, FiscalisationFormat>>): FiscalisationFormat;
104
+ /**
105
+ * The regime of a company as the socle compiled it from its pack, or null
106
+ * where it has none. `chained`: a record for every invoice, chained by a
107
+ * hash. `reporting`: the documents' data reported to the authority, no hash,
108
+ * nothing chained — the core keeps no chain for it.
109
+ */
110
+ export interface FiscalRegime {
111
+ kind: 'chained' | 'reporting';
112
+ format: string;
113
+ /** Empty while the obligation is only announced. */
114
+ mandatory_from: {
115
+ who: string | null;
116
+ from: string;
117
+ }[];
118
+ /** A day only announced, no text in force: it binds nobody. */
119
+ announced_from: string | null;
120
+ announced_by: string | null;
121
+ announced_on: string | null;
122
+ hash: {
123
+ algorithm: string;
124
+ separator: string | null;
125
+ fields: Partial<Record<FiscalRecordKind | '*', string[]>>;
126
+ } | null;
127
+ qr: {
128
+ size_mm: {
129
+ min: number;
130
+ max: number;
131
+ };
132
+ error_correction: string;
133
+ label: string | null;
134
+ } | null;
135
+ mention: {
136
+ text: string;
137
+ alternatives: string[];
138
+ modes: FiscalSubmissionMode[];
139
+ }[];
140
+ submission: {
141
+ mode: FiscalSubmissionMode;
142
+ modes: FiscalSubmissionMode[];
143
+ channel: string | null;
144
+ cadence: Row[];
145
+ };
146
+ events: {
147
+ summary_every_hours: number;
148
+ modes: FiscalSubmissionMode[];
149
+ } | null;
150
+ reported: {
151
+ what: string;
152
+ by: ('supplier' | 'customer')[];
153
+ }[];
154
+ tax_attributes: Record<string, Record<string, string>>;
155
+ legal_reference: string;
156
+ source: string;
157
+ }
158
+ /** The fiscalisation regime of a company's fiscal country, or null. */
159
+ export declare function fiscalRegime(backend: Backend, companyId: string): Promise<FiscalRegime | null>;
160
+ /**
161
+ * The fields a hash covers, read back out of the text the brick hashed, in
162
+ * the order the pack names them: `name=value` joined by the pack's separator.
163
+ * Null where the text does not hold them in that order — the pack and the
164
+ * brick then disagree about what is hashed, and nothing is chained.
165
+ */
166
+ export declare function hashedFields(text: string, fields: readonly string[], separator: string): Record<string, string> | null;
167
+ /** Now, as ISO 8601 with the offset of this machine: what a record says it was generated at. */
168
+ export declare function generatedNow(at?: Date): string;
169
+ /** The chain a system keeps for a company: its identifier and its installation. */
170
+ export declare const fiscalSystemId: (system: FiscalSystem) => string;
171
+ export interface FiscaliseOptions {
172
+ system: FiscalSystem;
173
+ /** `alta` (the default) when the invoice is issued, `anulacion` when its record is cancelled. */
174
+ kind?: FiscalRecordKind;
175
+ /** One of the modes the pack allows; the pack's default when left out. */
176
+ mode?: FiscalSubmissionMode;
177
+ /** When the record is generated, ISO 8601 with its offset. Now, on this machine, when left out. */
178
+ generatedAt?: string;
179
+ /** Which service of the authority the verification URL points at. */
180
+ environment?: 'production' | 'test';
181
+ /** Why a credit note rectifies, in the regime's own code, where it asks and the books do not say. */
182
+ rectification?: string;
183
+ /** Write the record and say what is wrong with it; chain nothing. */
184
+ dryRun?: boolean;
185
+ /** Hand the file back too. */
186
+ includeFile?: boolean;
187
+ }
188
+ /**
189
+ * Writes the fiscal record of a posted sale with the brick its pack's regime
190
+ * names, and — unless it breaks a rule or `dryRun` is asked — chains it after
191
+ * the tail of the system's chain and keeps its file. A document whose record
192
+ * is in the chain already is answered with that record, not chained twice.
193
+ */
194
+ export declare function fiscaliseDocument(backend: Backend, documentId: string, options: FiscaliseOptions, formats?: Readonly<Record<string, FiscalisationFormat>>): Promise<Row>;
195
+ /**
196
+ * Where the fiscal records of a company stand: its regime, each chain
197
+ * verified, the records still to be sent, the posted sales without a record,
198
+ * and the latest events. A posted sale without a record is named here and
199
+ * never fiscalised on the way.
200
+ */
201
+ export declare function fiscalisationStatus(backend: Backend, companyId: string, options?: {
202
+ limit?: number;
203
+ }): Promise<Row>;
204
+ /** The variable the command line and the MCP server read the invoicing system from, as JSON. */
205
+ export declare const FISCAL_SYSTEM_ENV = "EKWO_FISCAL_SYSTEM";
206
+ /**
207
+ * The invoicing system, from the JSON an operator wrote: every text field
208
+ * present and not blank, the three booleans booleans where given. Nothing is
209
+ * filled in — a producer's tax number guessed is a record the authority
210
+ * attributes to somebody else.
211
+ */
212
+ export declare function parseFiscalSystem(value: unknown, where?: string): FiscalSystem;
213
+ //# sourceMappingURL=fiscalisation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiscalisation.d.ts","sourceRoot":"","sources":["../../src/einvoicing/fiscalisation.ts"],"names":[],"mappings":"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"}