@facturino/node 1.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/LICENSE +21 -0
- package/README.md +204 -0
- package/dist/cjs/client.d.ts +24 -0
- package/dist/cjs/client.js +203 -0
- package/dist/cjs/errors.d.ts +76 -0
- package/dist/cjs/errors.js +128 -0
- package/dist/cjs/index.d.ts +59 -0
- package/dist/cjs/index.js +77 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/pagination.d.ts +24 -0
- package/dist/cjs/pagination.js +68 -0
- package/dist/cjs/resources/account.d.ts +58 -0
- package/dist/cjs/resources/account.js +48 -0
- package/dist/cjs/resources/archives.d.ts +16 -0
- package/dist/cjs/resources/archives.js +17 -0
- package/dist/cjs/resources/billing.d.ts +30 -0
- package/dist/cjs/resources/billing.js +45 -0
- package/dist/cjs/resources/companies.d.ts +47 -0
- package/dist/cjs/resources/companies.js +45 -0
- package/dist/cjs/resources/creditNotes.d.ts +64 -0
- package/dist/cjs/resources/creditNotes.js +62 -0
- package/dist/cjs/resources/customers.d.ts +17 -0
- package/dist/cjs/resources/customers.js +36 -0
- package/dist/cjs/resources/ereporting.d.ts +12 -0
- package/dist/cjs/resources/ereporting.js +23 -0
- package/dist/cjs/resources/events.d.ts +11 -0
- package/dist/cjs/resources/events.js +20 -0
- package/dist/cjs/resources/exports.d.ts +20 -0
- package/dist/cjs/resources/exports.js +31 -0
- package/dist/cjs/resources/health.d.ts +13 -0
- package/dist/cjs/resources/health.js +18 -0
- package/dist/cjs/resources/invoices.d.ts +112 -0
- package/dist/cjs/resources/invoices.js +141 -0
- package/dist/cjs/resources/jobs.d.ts +10 -0
- package/dist/cjs/resources/jobs.js +24 -0
- package/dist/cjs/resources/payments.d.ts +16 -0
- package/dist/cjs/resources/payments.js +25 -0
- package/dist/cjs/resources/products.d.ts +15 -0
- package/dist/cjs/resources/products.js +32 -0
- package/dist/cjs/resources/quotes.d.ts +44 -0
- package/dist/cjs/resources/quotes.js +58 -0
- package/dist/cjs/resources/received-invoices.d.ts +14 -0
- package/dist/cjs/resources/received-invoices.js +29 -0
- package/dist/cjs/resources/recurringInvoices.d.ts +15 -0
- package/dist/cjs/resources/recurringInvoices.js +32 -0
- package/dist/cjs/resources/reference.d.ts +45 -0
- package/dist/cjs/resources/reference.js +57 -0
- package/dist/cjs/resources/reporting.d.ts +11 -0
- package/dist/cjs/resources/reporting.js +30 -0
- package/dist/cjs/resources/sandbox.d.ts +12 -0
- package/dist/cjs/resources/sandbox.js +21 -0
- package/dist/cjs/resources/usage.d.ts +20 -0
- package/dist/cjs/resources/usage.js +25 -0
- package/dist/cjs/resources/validate.d.ts +18 -0
- package/dist/cjs/resources/validate.js +23 -0
- package/dist/cjs/resources/webhookEndpoints.d.ts +20 -0
- package/dist/cjs/resources/webhookEndpoints.js +31 -0
- package/dist/cjs/types.d.ts +1178 -0
- package/dist/cjs/types.js +5 -0
- package/dist/cjs/webhooks.d.ts +14 -0
- package/dist/cjs/webhooks.js +63 -0
- package/dist/esm/client.d.ts +25 -0
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/client.js +200 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/errors.d.ts +77 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +114 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/index.d.ts +60 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +61 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/pagination.d.ts +25 -0
- package/dist/esm/pagination.d.ts.map +1 -0
- package/dist/esm/pagination.js +65 -0
- package/dist/esm/pagination.js.map +1 -0
- package/dist/esm/resources/account.d.ts +59 -0
- package/dist/esm/resources/account.d.ts.map +1 -0
- package/dist/esm/resources/account.js +45 -0
- package/dist/esm/resources/account.js.map +1 -0
- package/dist/esm/resources/archives.d.ts +17 -0
- package/dist/esm/resources/archives.d.ts.map +1 -0
- package/dist/esm/resources/archives.js +14 -0
- package/dist/esm/resources/archives.js.map +1 -0
- package/dist/esm/resources/billing.d.ts +31 -0
- package/dist/esm/resources/billing.d.ts.map +1 -0
- package/dist/esm/resources/billing.js +42 -0
- package/dist/esm/resources/billing.js.map +1 -0
- package/dist/esm/resources/companies.d.ts +48 -0
- package/dist/esm/resources/companies.d.ts.map +1 -0
- package/dist/esm/resources/companies.js +42 -0
- package/dist/esm/resources/companies.js.map +1 -0
- package/dist/esm/resources/creditNotes.d.ts +65 -0
- package/dist/esm/resources/creditNotes.d.ts.map +1 -0
- package/dist/esm/resources/creditNotes.js +59 -0
- package/dist/esm/resources/creditNotes.js.map +1 -0
- package/dist/esm/resources/customers.d.ts +18 -0
- package/dist/esm/resources/customers.d.ts.map +1 -0
- package/dist/esm/resources/customers.js +33 -0
- package/dist/esm/resources/customers.js.map +1 -0
- package/dist/esm/resources/ereporting.d.ts +13 -0
- package/dist/esm/resources/ereporting.d.ts.map +1 -0
- package/dist/esm/resources/ereporting.js +20 -0
- package/dist/esm/resources/ereporting.js.map +1 -0
- package/dist/esm/resources/events.d.ts +12 -0
- package/dist/esm/resources/events.d.ts.map +1 -0
- package/dist/esm/resources/events.js +17 -0
- package/dist/esm/resources/events.js.map +1 -0
- package/dist/esm/resources/exports.d.ts +21 -0
- package/dist/esm/resources/exports.d.ts.map +1 -0
- package/dist/esm/resources/exports.js +28 -0
- package/dist/esm/resources/exports.js.map +1 -0
- package/dist/esm/resources/health.d.ts +14 -0
- package/dist/esm/resources/health.d.ts.map +1 -0
- package/dist/esm/resources/health.js +15 -0
- package/dist/esm/resources/health.js.map +1 -0
- package/dist/esm/resources/invoices.d.ts +113 -0
- package/dist/esm/resources/invoices.d.ts.map +1 -0
- package/dist/esm/resources/invoices.js +138 -0
- package/dist/esm/resources/invoices.js.map +1 -0
- package/dist/esm/resources/jobs.d.ts +11 -0
- package/dist/esm/resources/jobs.d.ts.map +1 -0
- package/dist/esm/resources/jobs.js +21 -0
- package/dist/esm/resources/jobs.js.map +1 -0
- package/dist/esm/resources/payments.d.ts +17 -0
- package/dist/esm/resources/payments.d.ts.map +1 -0
- package/dist/esm/resources/payments.js +22 -0
- package/dist/esm/resources/payments.js.map +1 -0
- package/dist/esm/resources/products.d.ts +16 -0
- package/dist/esm/resources/products.d.ts.map +1 -0
- package/dist/esm/resources/products.js +29 -0
- package/dist/esm/resources/products.js.map +1 -0
- package/dist/esm/resources/quotes.d.ts +45 -0
- package/dist/esm/resources/quotes.d.ts.map +1 -0
- package/dist/esm/resources/quotes.js +55 -0
- package/dist/esm/resources/quotes.js.map +1 -0
- package/dist/esm/resources/received-invoices.d.ts +15 -0
- package/dist/esm/resources/received-invoices.d.ts.map +1 -0
- package/dist/esm/resources/received-invoices.js +26 -0
- package/dist/esm/resources/received-invoices.js.map +1 -0
- package/dist/esm/resources/recurringInvoices.d.ts +16 -0
- package/dist/esm/resources/recurringInvoices.d.ts.map +1 -0
- package/dist/esm/resources/recurringInvoices.js +29 -0
- package/dist/esm/resources/recurringInvoices.js.map +1 -0
- package/dist/esm/resources/reference.d.ts +46 -0
- package/dist/esm/resources/reference.d.ts.map +1 -0
- package/dist/esm/resources/reference.js +54 -0
- package/dist/esm/resources/reference.js.map +1 -0
- package/dist/esm/resources/reporting.d.ts +12 -0
- package/dist/esm/resources/reporting.d.ts.map +1 -0
- package/dist/esm/resources/reporting.js +27 -0
- package/dist/esm/resources/reporting.js.map +1 -0
- package/dist/esm/resources/sandbox.d.ts +13 -0
- package/dist/esm/resources/sandbox.d.ts.map +1 -0
- package/dist/esm/resources/sandbox.js +18 -0
- package/dist/esm/resources/sandbox.js.map +1 -0
- package/dist/esm/resources/usage.d.ts +21 -0
- package/dist/esm/resources/usage.d.ts.map +1 -0
- package/dist/esm/resources/usage.js +22 -0
- package/dist/esm/resources/usage.js.map +1 -0
- package/dist/esm/resources/validate.d.ts +19 -0
- package/dist/esm/resources/validate.d.ts.map +1 -0
- package/dist/esm/resources/validate.js +20 -0
- package/dist/esm/resources/validate.js.map +1 -0
- package/dist/esm/resources/webhookEndpoints.d.ts +21 -0
- package/dist/esm/resources/webhookEndpoints.d.ts.map +1 -0
- package/dist/esm/resources/webhookEndpoints.js +28 -0
- package/dist/esm/resources/webhookEndpoints.js.map +1 -0
- package/dist/esm/types.d.ts +1179 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +5 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/webhooks.d.ts +15 -0
- package/dist/esm/webhooks.d.ts.map +1 -0
- package/dist/esm/webhooks.js +60 -0
- package/dist/esm/webhooks.js.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { AutoPaginatingList } from '../pagination.js';
|
|
2
|
+
/** Credit note operations — the legal way to correct or cancel a finalized invoice. */
|
|
3
|
+
export class CreditNotes {
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
async create(params, options) {
|
|
8
|
+
return this.client.post('/v1/credit-notes', params, options);
|
|
9
|
+
}
|
|
10
|
+
list(params) {
|
|
11
|
+
return new AutoPaginatingList(this.client, '/v1/credit-notes', params);
|
|
12
|
+
}
|
|
13
|
+
async get(id) {
|
|
14
|
+
return this.client.get(`/v1/credit-notes/${id}`);
|
|
15
|
+
}
|
|
16
|
+
async update(id, params) {
|
|
17
|
+
return this.client.patch(`/v1/credit-notes/${id}`, params);
|
|
18
|
+
}
|
|
19
|
+
async del(id) {
|
|
20
|
+
await this.client.del(`/v1/credit-notes/${id}`);
|
|
21
|
+
}
|
|
22
|
+
/** Assign number and lock. Irreversible. */
|
|
23
|
+
async finalize(id, options) {
|
|
24
|
+
return this.client.post(`/v1/credit-notes/${id}/finalize`, undefined, options);
|
|
25
|
+
}
|
|
26
|
+
/** Submit to PA. */
|
|
27
|
+
async send(id, options) {
|
|
28
|
+
return this.client.post(`/v1/credit-notes/${id}/send`, undefined, options);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Send the credit note to its customer by email with the PDF (and optional
|
|
32
|
+
* Factur-X XML) attached. Returns `{status: 'sent'}` on success or
|
|
33
|
+
* `{status: 'pending'}` if the PDF is still being generated.
|
|
34
|
+
*/
|
|
35
|
+
async email(id, params, options) {
|
|
36
|
+
return this.client.post(`/v1/credit-notes/${id}/email`, params, options);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Record the disbursement of a finalized credit note back to the customer.
|
|
40
|
+
* Writes a negative `refund` payment on the linked invoice (mirrors the app).
|
|
41
|
+
* `amount` is in integer centimes and defaults to the full credit-note total.
|
|
42
|
+
*/
|
|
43
|
+
async refund(id, params, options) {
|
|
44
|
+
return this.client.post(`/v1/credit-notes/${id}/refund`, params, options);
|
|
45
|
+
}
|
|
46
|
+
async getPdf(id) {
|
|
47
|
+
return this.client.get(`/v1/credit-notes/${id}/pdf`);
|
|
48
|
+
}
|
|
49
|
+
/** Factur-X PDF/A-3 with embedded XML. URL or async job. */
|
|
50
|
+
async getFacturx(id) {
|
|
51
|
+
return this.client.get(`/v1/credit-notes/${id}/facturx`);
|
|
52
|
+
}
|
|
53
|
+
/** Raw CII or UBL XML. */
|
|
54
|
+
async getXml(id, format) {
|
|
55
|
+
const query = format ? `?format=${format}` : '';
|
|
56
|
+
return this.client.get(`/v1/credit-notes/${id}/xml${query}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=creditNotes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creditNotes.js","sourceRoot":"","sources":["../../../src/resources/creditNotes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAYrD,uFAAuF;AACvF,MAAM,OAAO,WAAW;IACtB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD,KAAK,CAAC,MAAM,CAAC,MAA8B,EAAE,OAAwB;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAa,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;IAED,IAAI,CAAC,MAA6B;QAChC,OAAO,IAAI,kBAAkB,CAAa,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAA;IACpF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAa,oBAAoB,EAAE,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAA8B;QACrD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAa,oBAAoB,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,oBAAoB,EAAE,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,OAAwB;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAa,oBAAoB,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAC5F,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAC,EAAU,EAAE,OAAwB;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAC5E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CACT,EAAU,EACV,MAKC,EACD,OAAwB;QAKxB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACV,EAAU,EACV,MAAyE,EACzE,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA;IACtD,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAA;IAC1D,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAAsB;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,oBAAoB,EAAE,OAAO,KAAK,EAAE,CAAC,CAAA;IACtE,CAAC;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { HttpClient } from '../client.js';
|
|
2
|
+
import { AutoPaginatingList } from '../pagination.js';
|
|
3
|
+
import type { Customer, CustomerCreateParams, CustomerUpdateParams, CustomerListParams, CustomerLookupParams, SireneLookupResponse, JobResponse, RequestOptions } from '../types.js';
|
|
4
|
+
/** CRUD operations on customers, with SIRENE lookup and CSV import/export. */
|
|
5
|
+
export declare class Customers {
|
|
6
|
+
private readonly client;
|
|
7
|
+
constructor(client: HttpClient);
|
|
8
|
+
create(params: CustomerCreateParams, options?: RequestOptions): Promise<Customer>;
|
|
9
|
+
list(params?: CustomerListParams): AutoPaginatingList<Customer>;
|
|
10
|
+
get(id: string): Promise<Customer>;
|
|
11
|
+
update(id: string, params: CustomerUpdateParams): Promise<Customer>;
|
|
12
|
+
del(id: string): Promise<void>;
|
|
13
|
+
/** Sirene lookup by SIRET or name. */
|
|
14
|
+
lookup(params: CustomerLookupParams): Promise<SireneLookupResponse>;
|
|
15
|
+
importCsv(csv: string, options?: RequestOptions): Promise<JobResponse>;
|
|
16
|
+
exportCsv(): Promise<JobResponse>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=customers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../../src/resources/customers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EACV,QAAQ,EACR,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,8EAA8E;AAC9E,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEzC,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIvF,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;IAIzD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIlC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAInE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,sCAAsC;IAChC,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAInE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAItE,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;CAGxC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AutoPaginatingList } from '../pagination.js';
|
|
2
|
+
/** CRUD operations on customers, with SIRENE lookup and CSV import/export. */
|
|
3
|
+
export class Customers {
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
async create(params, options) {
|
|
8
|
+
return this.client.post('/v1/customers', params, options);
|
|
9
|
+
}
|
|
10
|
+
list(params) {
|
|
11
|
+
return new AutoPaginatingList(this.client, '/v1/customers', params);
|
|
12
|
+
}
|
|
13
|
+
async get(id) {
|
|
14
|
+
return this.client.get(`/v1/customers/${id}`);
|
|
15
|
+
}
|
|
16
|
+
async update(id, params) {
|
|
17
|
+
return this.client.patch(`/v1/customers/${id}`, params);
|
|
18
|
+
}
|
|
19
|
+
async del(id) {
|
|
20
|
+
await this.client.del(`/v1/customers/${id}`);
|
|
21
|
+
}
|
|
22
|
+
/** Sirene lookup by SIRET or name. */
|
|
23
|
+
async lookup(params) {
|
|
24
|
+
return this.client.post('/v1/customers/lookup', params);
|
|
25
|
+
}
|
|
26
|
+
async importCsv(csv, options) {
|
|
27
|
+
return this.client.post('/v1/customers/import', { csv }, options);
|
|
28
|
+
}
|
|
29
|
+
async exportCsv() {
|
|
30
|
+
return this.client.get('/v1/customers/export');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=customers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customers.js","sourceRoot":"","sources":["../../../src/resources/customers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAYrD,8EAA8E;AAC9E,MAAM,OAAO,SAAS;IACpB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD,KAAK,CAAC,MAAM,CAAC,MAA4B,EAAE,OAAwB;QACjE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAW,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACrE,CAAC;IAED,IAAI,CAAC,MAA2B;QAC9B,OAAO,IAAI,kBAAkB,CAAW,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,CAAA;IAC/E,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAW,iBAAiB,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAA4B;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAW,iBAAiB,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IACnE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAO,iBAAiB,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,MAAM,CAAC,MAA4B;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAuB,sBAAsB,EAAE,MAAM,CAAC,CAAA;IAC/E,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,OAAwB;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAc,sBAAsB,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA;IAChF,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAc,sBAAsB,CAAC,CAAA;IAC7D,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { HttpClient } from '../client.js';
|
|
2
|
+
import { AutoPaginatingList } from '../pagination.js';
|
|
3
|
+
import type { EReporting, EReportingCreateParams, EReportingListParams, RequestOptions } from '../types.js';
|
|
4
|
+
/** E-reporting declarations for B2C and international transactions (art. 290 CGI). */
|
|
5
|
+
export declare class EReportingResource {
|
|
6
|
+
private readonly client;
|
|
7
|
+
constructor(client: HttpClient);
|
|
8
|
+
createDeclaration(params: EReportingCreateParams, options?: RequestOptions): Promise<EReporting>;
|
|
9
|
+
list(params?: EReportingListParams): AutoPaginatingList<EReporting>;
|
|
10
|
+
get(id: string): Promise<EReporting>;
|
|
11
|
+
submitDeclaration(id: string, options?: RequestOptions): Promise<EReporting>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ereporting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ereporting.d.ts","sourceRoot":"","sources":["../../../src/resources/ereporting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,sFAAsF;AACtF,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEzC,iBAAiB,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAItG,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,CAAC,UAAU,CAAC;IAI7D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAIpC,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;CAGnF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AutoPaginatingList } from '../pagination.js';
|
|
2
|
+
/** E-reporting declarations for B2C and international transactions (art. 290 CGI). */
|
|
3
|
+
export class EReportingResource {
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
async createDeclaration(params, options) {
|
|
8
|
+
return this.client.post('/v1/ereporting/declarations', params, options);
|
|
9
|
+
}
|
|
10
|
+
list(params) {
|
|
11
|
+
return new AutoPaginatingList(this.client, '/v1/ereporting/declarations', params);
|
|
12
|
+
}
|
|
13
|
+
async get(id) {
|
|
14
|
+
return this.client.get(`/v1/ereporting/declarations/${id}`);
|
|
15
|
+
}
|
|
16
|
+
async submitDeclaration(id, options) {
|
|
17
|
+
return this.client.post(`/v1/ereporting/declarations/${id}/submit`, undefined, options);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ereporting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ereporting.js","sourceRoot":"","sources":["../../../src/resources/ereporting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAQrD,sFAAsF;AACtF,MAAM,OAAO,kBAAkB;IAC7B,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD,KAAK,CAAC,iBAAiB,CAAC,MAA8B,EAAE,OAAwB;QAC9E,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAa,6BAA6B,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACrF,CAAC;IAED,IAAI,CAAC,MAA6B;QAChC,OAAO,IAAI,kBAAkB,CAAa,IAAI,CAAC,MAAM,EAAE,6BAA6B,EAAE,MAAM,CAAC,CAAA;IAC/F,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAa,+BAA+B,EAAE,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU,EAAE,OAAwB;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAa,+BAA+B,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IACrG,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { HttpClient } from '../client.js';
|
|
2
|
+
import { AutoPaginatingList } from '../pagination.js';
|
|
3
|
+
import type { WebhookEvent, EventListParams } from '../types.js';
|
|
4
|
+
/** Webhook event log — list, inspect, and retry delivery of past events. */
|
|
5
|
+
export declare class Events {
|
|
6
|
+
private readonly client;
|
|
7
|
+
constructor(client: HttpClient);
|
|
8
|
+
list(params?: EventListParams): AutoPaginatingList<WebhookEvent>;
|
|
9
|
+
get(id: string): Promise<WebhookEvent>;
|
|
10
|
+
retry(id: string): Promise<WebhookEvent>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/resources/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEhE,4EAA4E;AAC5E,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,kBAAkB,CAAC,YAAY,CAAC;IAI1D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAItC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAG/C"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AutoPaginatingList } from '../pagination.js';
|
|
2
|
+
/** Webhook event log — list, inspect, and retry delivery of past events. */
|
|
3
|
+
export class Events {
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
list(params) {
|
|
8
|
+
return new AutoPaginatingList(this.client, '/v1/events', params);
|
|
9
|
+
}
|
|
10
|
+
async get(id) {
|
|
11
|
+
return this.client.get(`/v1/events/${id}`);
|
|
12
|
+
}
|
|
13
|
+
async retry(id) {
|
|
14
|
+
return this.client.post(`/v1/events/${id}/retry`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/resources/events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAGrD,4EAA4E;AAC5E,MAAM,OAAO,MAAM;IACjB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD,IAAI,CAAC,MAAwB;QAC3B,OAAO,IAAI,kBAAkB,CAAe,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;IAChF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAe,cAAc,EAAE,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAe,cAAc,EAAE,QAAQ,CAAC,CAAA;IACjE,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { HttpClient } from '../client.js';
|
|
2
|
+
import type { FecExportParams, InvoiceExportParams, JobResponse, RequestOptions } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Data exports — FEC accounting files and the invoices ZIP. For RGPD data
|
|
5
|
+
* portability (art. 20), use `account.requestExport`.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Exports {
|
|
8
|
+
private readonly client;
|
|
9
|
+
constructor(client: HttpClient);
|
|
10
|
+
/** Async FEC generation (art. A.47 A-1 LPF). Pro/Cabinet plan. */
|
|
11
|
+
generateFec(params?: FecExportParams, options?: RequestOptions): Promise<JobResponse>;
|
|
12
|
+
getFecStatus(jobId: string): Promise<JobResponse>;
|
|
13
|
+
getExportStatus(jobId: string): Promise<JobResponse>;
|
|
14
|
+
/**
|
|
15
|
+
* Bulk export finalized invoices as a ZIP (Factur-X PDF + CII XML per invoice).
|
|
16
|
+
* Available on all plans. Optionally filter by issue-date period and/or
|
|
17
|
+
* lifecycle statuses; with no params, every non-draft invoice is exported.
|
|
18
|
+
*/
|
|
19
|
+
exportInvoices(params?: InvoiceExportParams, options?: RequestOptions): Promise<JobResponse>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=exports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../src/resources/exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEpG;;;GAGG;AACH,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C,kEAAkE;IAC5D,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrF,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIjD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI1D;;;;OAIG;IACG,cAAc,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;CAGnG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data exports — FEC accounting files and the invoices ZIP. For RGPD data
|
|
3
|
+
* portability (art. 20), use `account.requestExport`.
|
|
4
|
+
*/
|
|
5
|
+
export class Exports {
|
|
6
|
+
constructor(client) {
|
|
7
|
+
this.client = client;
|
|
8
|
+
}
|
|
9
|
+
/** Async FEC generation (art. A.47 A-1 LPF). Pro/Cabinet plan. */
|
|
10
|
+
async generateFec(params, options) {
|
|
11
|
+
return this.client.post('/v1/exports/fec', params ?? {}, options);
|
|
12
|
+
}
|
|
13
|
+
async getFecStatus(jobId) {
|
|
14
|
+
return this.client.get(`/v1/exports/fec/${jobId}`);
|
|
15
|
+
}
|
|
16
|
+
async getExportStatus(jobId) {
|
|
17
|
+
return this.client.get(`/v1/exports/${jobId}`);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Bulk export finalized invoices as a ZIP (Factur-X PDF + CII XML per invoice).
|
|
21
|
+
* Available on all plans. Optionally filter by issue-date period and/or
|
|
22
|
+
* lifecycle statuses; with no params, every non-draft invoice is exported.
|
|
23
|
+
*/
|
|
24
|
+
async exportInvoices(params, options) {
|
|
25
|
+
return this.client.post('/v1/exports/invoices', params ?? {}, options);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=exports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../src/resources/exports.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,OAAO,OAAO;IAClB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD,kEAAkE;IAClE,KAAK,CAAC,WAAW,CAAC,MAAwB,EAAE,OAAwB;QAClE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAc,iBAAiB,EAAE,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAChF,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAc,mBAAmB,KAAK,EAAE,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAc,eAAe,KAAK,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,MAA4B,EAAE,OAAwB;QACzE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAc,sBAAsB,EAAE,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IACrF,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { HttpClient } from '../client.js';
|
|
2
|
+
import type { HealthStatus } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Health — lightweight liveness probe for the Facturino API. Returns the
|
|
5
|
+
* service status and the API version; handy for uptime checks and to confirm
|
|
6
|
+
* an API key reaches the platform before running real traffic.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Health {
|
|
9
|
+
private readonly client;
|
|
10
|
+
constructor(client: HttpClient);
|
|
11
|
+
/** Return the current service health snapshot (`GET /v1/health`). */
|
|
12
|
+
check(): Promise<HealthStatus>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/resources/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C;;;;GAIG;AACH,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C,qEAAqE;IAC/D,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;CAGrC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Health — lightweight liveness probe for the Facturino API. Returns the
|
|
3
|
+
* service status and the API version; handy for uptime checks and to confirm
|
|
4
|
+
* an API key reaches the platform before running real traffic.
|
|
5
|
+
*/
|
|
6
|
+
export class Health {
|
|
7
|
+
constructor(client) {
|
|
8
|
+
this.client = client;
|
|
9
|
+
}
|
|
10
|
+
/** Return the current service health snapshot (`GET /v1/health`). */
|
|
11
|
+
async check() {
|
|
12
|
+
return this.client.get('/v1/health');
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/resources/health.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,OAAO,MAAM;IACjB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD,qEAAqE;IACrE,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAe,YAAY,CAAC,CAAA;IACpD,CAAC;CACF"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { HttpClient } from '../client.js';
|
|
2
|
+
import { AutoPaginatingList } from '../pagination.js';
|
|
3
|
+
import { Payments } from './payments.js';
|
|
4
|
+
import type { Invoice, InvoiceCreateParams, InvoiceUpdateParams, InvoiceListParams, InvoiceRetrieveParams, InvoiceStatusResponse, InvoiceVerifyResponse, DocumentUrlResponse, JobResponse, PaymentLinkResponse, PaymentLinkCreateParams, PaymentTokenResponse, PaginatedResponse, LifecycleEntry, IncomingInvoiceCreateParams, ReceivedInvoice, RequestOptions } from '../types.js';
|
|
5
|
+
/** Manages invoice lifecycle — creation, finalization, sending, and document retrieval. */
|
|
6
|
+
export declare class Invoices {
|
|
7
|
+
private readonly client;
|
|
8
|
+
readonly payments: Payments;
|
|
9
|
+
constructor(client: HttpClient);
|
|
10
|
+
create(params: InvoiceCreateParams, options?: RequestOptions): Promise<Invoice>;
|
|
11
|
+
list(params?: InvoiceListParams): AutoPaginatingList<Invoice>;
|
|
12
|
+
/**
|
|
13
|
+
* Retrieve an invoice. Pass `expand` to inline related objects in the
|
|
14
|
+
* response under `invoice.expanded` — `customer`, `items.product`, and
|
|
15
|
+
* `credit_notes`. With `credit_notes`, the response also carries
|
|
16
|
+
* `expanded.net_balance` (TTC minus credited amounts, in integer cents).
|
|
17
|
+
*/
|
|
18
|
+
get(id: string, params?: InvoiceRetrieveParams): Promise<Invoice>;
|
|
19
|
+
update(id: string, params: InvoiceUpdateParams): Promise<Invoice>;
|
|
20
|
+
/** Soft-delete (draft only). */
|
|
21
|
+
del(id: string): Promise<void>;
|
|
22
|
+
/** Assign number and lock. Irreversible. */
|
|
23
|
+
finalize(id: string, options?: RequestOptions): Promise<Invoice>;
|
|
24
|
+
/** Submit to PA. Returns 202 (async). */
|
|
25
|
+
send(id: string, options?: RequestOptions): Promise<{
|
|
26
|
+
id: string;
|
|
27
|
+
object: 'invoice';
|
|
28
|
+
status: string;
|
|
29
|
+
}>;
|
|
30
|
+
/**
|
|
31
|
+
* Send a finalized invoice by email with PDF (and optionally XML) attached.
|
|
32
|
+
* Returns `{status: 'sent'}` on success or `{status: 'pending'}` if the PDF
|
|
33
|
+
* is still being generated (caller should poll the returned `jobId`).
|
|
34
|
+
*/
|
|
35
|
+
email(id: string, params?: {
|
|
36
|
+
recipientEmail?: string;
|
|
37
|
+
customMessage?: string;
|
|
38
|
+
includeXml?: boolean;
|
|
39
|
+
customSubject?: string;
|
|
40
|
+
}, options?: RequestOptions): Promise<{
|
|
41
|
+
status: 'sent';
|
|
42
|
+
invoiceId: string;
|
|
43
|
+
recipient: string;
|
|
44
|
+
sentAt: string;
|
|
45
|
+
} | {
|
|
46
|
+
status: 'pending';
|
|
47
|
+
invoiceId: string;
|
|
48
|
+
jobId: string;
|
|
49
|
+
pollUrl: string;
|
|
50
|
+
reason: string;
|
|
51
|
+
}>;
|
|
52
|
+
/**
|
|
53
|
+
* Cancel a DRAFT invoice (status `draft` only). This soft-deletes the
|
|
54
|
+
* draft and returns `{ id, object: 'invoice', deleted: true }`. Finalized
|
|
55
|
+
* invoices are immutable under French law (CGI art. 289) — use
|
|
56
|
+
* `creditNotes.create()` to refund or correct a finalized invoice.
|
|
57
|
+
*
|
|
58
|
+
* @throws {FacturinoError} when called on a non-draft invoice (API returns 400)
|
|
59
|
+
*/
|
|
60
|
+
cancel(id: string, options?: RequestOptions): Promise<{
|
|
61
|
+
id: string;
|
|
62
|
+
object: 'invoice';
|
|
63
|
+
deleted: true;
|
|
64
|
+
}>;
|
|
65
|
+
remind(id: string, options?: RequestOptions): Promise<{
|
|
66
|
+
id: string;
|
|
67
|
+
object: 'invoice';
|
|
68
|
+
reminder_sent: boolean;
|
|
69
|
+
}>;
|
|
70
|
+
/** Clone as new draft. */
|
|
71
|
+
clone(id: string, options?: RequestOptions): Promise<Invoice>;
|
|
72
|
+
/** Signed download URL, or async job if generation needed. */
|
|
73
|
+
getPdf(id: string, template?: string): Promise<DocumentUrlResponse | JobResponse>;
|
|
74
|
+
/** Factur-X PDF/A-3 with embedded XML. URL or async job. */
|
|
75
|
+
getFacturx(id: string, template?: string): Promise<DocumentUrlResponse | JobResponse>;
|
|
76
|
+
/** Raw CII or UBL XML. */
|
|
77
|
+
getXml(id: string, format?: 'cii' | 'ubl'): Promise<string>;
|
|
78
|
+
getStatus(id: string): Promise<InvoiceStatusResponse>;
|
|
79
|
+
/** Verify archive hash chain integrity. */
|
|
80
|
+
verify(id: string): Promise<InvoiceVerifyResponse>;
|
|
81
|
+
listEvents(id: string): Promise<PaginatedResponse<LifecycleEntry>>;
|
|
82
|
+
getAuditTrail(id: string, params?: {
|
|
83
|
+
limit?: number;
|
|
84
|
+
starting_after?: string;
|
|
85
|
+
action?: string;
|
|
86
|
+
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
87
|
+
/** Async audit trail PDF generation. */
|
|
88
|
+
generateAuditTrailPdf(id: string, options?: RequestOptions): Promise<JobResponse>;
|
|
89
|
+
/** Stripe payment link (Pro plan). */
|
|
90
|
+
createPaymentLink(id: string, params?: PaymentLinkCreateParams, options?: RequestOptions): Promise<PaymentLinkResponse>;
|
|
91
|
+
/** Token for client-facing payment portal. */
|
|
92
|
+
createPaymentToken(id: string, options?: RequestOptions): Promise<PaymentTokenResponse>;
|
|
93
|
+
/**
|
|
94
|
+
* Generate a signed client-portal link for a finalized invoice. The
|
|
95
|
+
* URL points to a public, branded portal where the customer can view
|
|
96
|
+
* the invoice, download the PDF and trigger the payment flow. The
|
|
97
|
+
* token embedded in the URL grants read-only access to a single
|
|
98
|
+
* invoice and expires after the configured lifetime.
|
|
99
|
+
*
|
|
100
|
+
* Rejects with `invalid_status_transition` if the invoice is still
|
|
101
|
+
* in draft.
|
|
102
|
+
*/
|
|
103
|
+
createPortalLink(id: string, options?: RequestOptions): Promise<{
|
|
104
|
+
url: string;
|
|
105
|
+
token: string;
|
|
106
|
+
expires_at: string;
|
|
107
|
+
}>;
|
|
108
|
+
/** Record a supplier invoice received outside the platform (manual entry). */
|
|
109
|
+
createIncoming(params: IncomingInvoiceCreateParams, options?: RequestOptions): Promise<ReceivedInvoice>;
|
|
110
|
+
/** List inbound supplier invoices (manual entries + e-invoices received via the PA). */
|
|
111
|
+
listIncoming(params?: InvoiceListParams): AutoPaginatingList<ReceivedInvoice>;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=invoices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoices.d.ts","sourceRoot":"","sources":["../../../src/resources/invoices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { AutoPaginatingList } from '../pagination.js';
|
|
2
|
+
import { Payments } from './payments.js';
|
|
3
|
+
/** Manages invoice lifecycle — creation, finalization, sending, and document retrieval. */
|
|
4
|
+
export class Invoices {
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.client = client;
|
|
7
|
+
this.payments = new Payments(client);
|
|
8
|
+
}
|
|
9
|
+
async create(params, options) {
|
|
10
|
+
return this.client.post('/v1/invoices', params, options);
|
|
11
|
+
}
|
|
12
|
+
list(params) {
|
|
13
|
+
return new AutoPaginatingList(this.client, '/v1/invoices', params);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Retrieve an invoice. Pass `expand` to inline related objects in the
|
|
17
|
+
* response under `invoice.expanded` — `customer`, `items.product`, and
|
|
18
|
+
* `credit_notes`. With `credit_notes`, the response also carries
|
|
19
|
+
* `expanded.net_balance` (TTC minus credited amounts, in integer cents).
|
|
20
|
+
*/
|
|
21
|
+
async get(id, params) {
|
|
22
|
+
const expand = params?.expand;
|
|
23
|
+
const query = expand && expand.length ? `?expand=${expand.map(encodeURIComponent).join(',')}` : '';
|
|
24
|
+
return this.client.get(`/v1/invoices/${id}${query}`);
|
|
25
|
+
}
|
|
26
|
+
async update(id, params) {
|
|
27
|
+
return this.client.patch(`/v1/invoices/${id}`, params);
|
|
28
|
+
}
|
|
29
|
+
/** Soft-delete (draft only). */
|
|
30
|
+
async del(id) {
|
|
31
|
+
await this.client.del(`/v1/invoices/${id}`);
|
|
32
|
+
}
|
|
33
|
+
/** Assign number and lock. Irreversible. */
|
|
34
|
+
async finalize(id, options) {
|
|
35
|
+
return this.client.post(`/v1/invoices/${id}/finalize`, undefined, options);
|
|
36
|
+
}
|
|
37
|
+
/** Submit to PA. Returns 202 (async). */
|
|
38
|
+
async send(id, options) {
|
|
39
|
+
return this.client.post(`/v1/invoices/${id}/send`, undefined, options);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Send a finalized invoice by email with PDF (and optionally XML) attached.
|
|
43
|
+
* Returns `{status: 'sent'}` on success or `{status: 'pending'}` if the PDF
|
|
44
|
+
* is still being generated (caller should poll the returned `jobId`).
|
|
45
|
+
*/
|
|
46
|
+
async email(id, params, options) {
|
|
47
|
+
return this.client.post(`/v1/invoices/${id}/email`, params, options);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Cancel a DRAFT invoice (status `draft` only). This soft-deletes the
|
|
51
|
+
* draft and returns `{ id, object: 'invoice', deleted: true }`. Finalized
|
|
52
|
+
* invoices are immutable under French law (CGI art. 289) — use
|
|
53
|
+
* `creditNotes.create()` to refund or correct a finalized invoice.
|
|
54
|
+
*
|
|
55
|
+
* @throws {FacturinoError} when called on a non-draft invoice (API returns 400)
|
|
56
|
+
*/
|
|
57
|
+
async cancel(id, options) {
|
|
58
|
+
return this.client.post(`/v1/invoices/${id}/cancel`, undefined, options);
|
|
59
|
+
}
|
|
60
|
+
async remind(id, options) {
|
|
61
|
+
return this.client.post(`/v1/invoices/${id}/remind`, undefined, options);
|
|
62
|
+
}
|
|
63
|
+
/** Clone as new draft. */
|
|
64
|
+
async clone(id, options) {
|
|
65
|
+
return this.client.post(`/v1/invoices/${id}/clone`, undefined, options);
|
|
66
|
+
}
|
|
67
|
+
/** Signed download URL, or async job if generation needed. */
|
|
68
|
+
async getPdf(id, template) {
|
|
69
|
+
const query = template ? `?template=${encodeURIComponent(template)}` : '';
|
|
70
|
+
return this.client.get(`/v1/invoices/${id}/pdf${query}`);
|
|
71
|
+
}
|
|
72
|
+
/** Factur-X PDF/A-3 with embedded XML. URL or async job. */
|
|
73
|
+
async getFacturx(id, template) {
|
|
74
|
+
const query = template ? `?template=${encodeURIComponent(template)}` : '';
|
|
75
|
+
return this.client.get(`/v1/invoices/${id}/facturx${query}`);
|
|
76
|
+
}
|
|
77
|
+
/** Raw CII or UBL XML. */
|
|
78
|
+
async getXml(id, format) {
|
|
79
|
+
const query = format ? `?format=${format}` : '';
|
|
80
|
+
return this.client.get(`/v1/invoices/${id}/xml${query}`);
|
|
81
|
+
}
|
|
82
|
+
async getStatus(id) {
|
|
83
|
+
return this.client.get(`/v1/invoices/${id}/status`);
|
|
84
|
+
}
|
|
85
|
+
/** Verify archive hash chain integrity. */
|
|
86
|
+
async verify(id) {
|
|
87
|
+
return this.client.get(`/v1/invoices/${id}/verify`);
|
|
88
|
+
}
|
|
89
|
+
async listEvents(id) {
|
|
90
|
+
return this.client.get(`/v1/invoices/${id}/events`);
|
|
91
|
+
}
|
|
92
|
+
async getAuditTrail(id, params) {
|
|
93
|
+
const queryParams = {};
|
|
94
|
+
if (params?.limit)
|
|
95
|
+
queryParams.limit = String(params.limit);
|
|
96
|
+
if (params?.starting_after)
|
|
97
|
+
queryParams.starting_after = params.starting_after;
|
|
98
|
+
if (params?.action)
|
|
99
|
+
queryParams.action = params.action;
|
|
100
|
+
const qs = new URLSearchParams(queryParams).toString();
|
|
101
|
+
const url = qs ? `/v1/invoices/${id}/audit-trail?${qs}` : `/v1/invoices/${id}/audit-trail`;
|
|
102
|
+
return this.client.get(url);
|
|
103
|
+
}
|
|
104
|
+
/** Async audit trail PDF generation. */
|
|
105
|
+
async generateAuditTrailPdf(id, options) {
|
|
106
|
+
return this.client.post(`/v1/invoices/${id}/audit-trail/pdf`, undefined, options);
|
|
107
|
+
}
|
|
108
|
+
/** Stripe payment link (Pro plan). */
|
|
109
|
+
async createPaymentLink(id, params, options) {
|
|
110
|
+
return this.client.post(`/v1/invoices/${id}/payment-link`, params, options);
|
|
111
|
+
}
|
|
112
|
+
/** Token for client-facing payment portal. */
|
|
113
|
+
async createPaymentToken(id, options) {
|
|
114
|
+
return this.client.post(`/v1/invoices/${id}/payment-token`, undefined, options);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Generate a signed client-portal link for a finalized invoice. The
|
|
118
|
+
* URL points to a public, branded portal where the customer can view
|
|
119
|
+
* the invoice, download the PDF and trigger the payment flow. The
|
|
120
|
+
* token embedded in the URL grants read-only access to a single
|
|
121
|
+
* invoice and expires after the configured lifetime.
|
|
122
|
+
*
|
|
123
|
+
* Rejects with `invalid_status_transition` if the invoice is still
|
|
124
|
+
* in draft.
|
|
125
|
+
*/
|
|
126
|
+
async createPortalLink(id, options) {
|
|
127
|
+
return this.client.post(`/v1/invoices/${id}/portal-link`, undefined, options);
|
|
128
|
+
}
|
|
129
|
+
/** Record a supplier invoice received outside the platform (manual entry). */
|
|
130
|
+
async createIncoming(params, options) {
|
|
131
|
+
return this.client.post('/v1/invoices/incoming', params, options);
|
|
132
|
+
}
|
|
133
|
+
/** List inbound supplier invoices (manual entries + e-invoices received via the PA). */
|
|
134
|
+
listIncoming(params) {
|
|
135
|
+
return new AutoPaginatingList(this.client, '/v1/invoices/incoming', params);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=invoices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../../src/resources/invoices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { HttpClient } from '../client.js';
|
|
2
|
+
import type { Job } from '../types.js';
|
|
3
|
+
/** Track and poll async background jobs such as PDF generation or PA submission. */
|
|
4
|
+
export declare class Jobs {
|
|
5
|
+
private readonly client;
|
|
6
|
+
constructor(client: HttpClient);
|
|
7
|
+
get(id: string): Promise<Job>;
|
|
8
|
+
/** Poll until completed or failed. */
|
|
9
|
+
poll(id: string, intervalMs?: number, maxAttempts?: number): Promise<Job>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=jobs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../../src/resources/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,oFAAoF;AACpF,qBAAa,IAAI;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEzC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAInC,sCAAsC;IAChC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,SAAO,EAAE,WAAW,SAAK,GAAG,OAAO,CAAC,GAAG,CAAC;CAa1E"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Track and poll async background jobs such as PDF generation or PA submission. */
|
|
2
|
+
export class Jobs {
|
|
3
|
+
constructor(client) {
|
|
4
|
+
this.client = client;
|
|
5
|
+
}
|
|
6
|
+
async get(id) {
|
|
7
|
+
return this.client.get(`/v1/jobs/${id}`);
|
|
8
|
+
}
|
|
9
|
+
/** Poll until completed or failed. */
|
|
10
|
+
async poll(id, intervalMs = 2000, maxAttempts = 30) {
|
|
11
|
+
for (let i = 0; i < maxAttempts; i++) {
|
|
12
|
+
const job = await this.get(id);
|
|
13
|
+
if (job.status === 'completed' || job.status === 'failed') {
|
|
14
|
+
return job;
|
|
15
|
+
}
|
|
16
|
+
await new Promise((resolve) => setTimeout(resolve, intervalMs));
|
|
17
|
+
}
|
|
18
|
+
throw new Error(`Job ${id} did not complete within ${maxAttempts} polling attempts`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=jobs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/resources/jobs.ts"],"names":[],"mappings":"AAGA,oFAAoF;AACpF,MAAM,OAAO,IAAI;IACf,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAM,YAAY,EAAE,EAAE,CAAC,CAAA;IAC/C,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,IAAI,CAAC,EAAU,EAAE,UAAU,GAAG,IAAI,EAAE,WAAW,GAAG,EAAE;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAE9B,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1D,OAAO,GAAG,CAAA;YACZ,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;QACjE,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,4BAA4B,WAAW,mBAAmB,CAAC,CAAA;IACtF,CAAC;CACF"}
|