@facturino/node 1.2.0 → 2.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/README.md +295 -26
- package/dist/cjs/client.d.ts +1 -1
- package/dist/cjs/client.js +2 -2
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/resources/invoices.d.ts +31 -1
- package/dist/cjs/resources/invoices.js +51 -0
- package/dist/cjs/resources/taxDecisions.d.ts +31 -0
- package/dist/cjs/resources/taxDecisions.js +63 -0
- package/dist/cjs/types.d.ts +545 -18
- package/dist/esm/client.d.ts +1 -1
- package/dist/esm/client.js +2 -2
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/resources/invoices.d.ts +31 -1
- package/dist/esm/resources/invoices.d.ts.map +1 -1
- package/dist/esm/resources/invoices.js +51 -0
- package/dist/esm/resources/invoices.js.map +1 -1
- package/dist/esm/resources/taxDecisions.d.ts +32 -0
- package/dist/esm/resources/taxDecisions.d.ts.map +1 -0
- package/dist/esm/resources/taxDecisions.js +60 -0
- package/dist/esm/resources/taxDecisions.js.map +1 -0
- package/dist/esm/types.d.ts +545 -18
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ import { ReceivedInvoices } from './resources/received-invoices.js';
|
|
|
17
17
|
import { Reporting } from './resources/reporting.js';
|
|
18
18
|
import { AccountResource } from './resources/account.js';
|
|
19
19
|
import { Billing } from './resources/billing.js';
|
|
20
|
+
import { TaxDecisions } from './resources/taxDecisions.js';
|
|
20
21
|
import { Usage } from './resources/usage.js';
|
|
21
22
|
import { Validate } from './resources/validate.js';
|
|
22
23
|
import { Reference } from './resources/reference.js';
|
|
@@ -42,6 +43,7 @@ declare class Facturino {
|
|
|
42
43
|
readonly jobs: Jobs;
|
|
43
44
|
readonly reference: Reference;
|
|
44
45
|
readonly sandbox: Sandbox;
|
|
46
|
+
readonly taxDecisions: TaxDecisions;
|
|
45
47
|
readonly usage: Usage;
|
|
46
48
|
readonly validate: Validate;
|
|
47
49
|
readonly webhooks: Webhooks;
|
|
@@ -53,7 +55,7 @@ declare class Facturino {
|
|
|
53
55
|
}
|
|
54
56
|
export default Facturino;
|
|
55
57
|
export { Facturino };
|
|
56
|
-
export type { FacturinoConfig, RequestOptions, PaginationParams, PaginatedResponse, ApiErrorBody, Address, Contact, ContactRole, LineItem, VatBreakdown, Totals, CustomerRef, CustomerSnapshot, LifecycleEntry, Currency, Unit, VatCode, VatexCode, PaymentMethod, InvoiceType, InvoiceStatus, InvoiceDates, InvoicePaymentTerms, InvoiceEinvoicing, InvoicePortal, InvoiceArchive, InvoiceFiles, Invoice, InvoiceExpandField, InvoiceExpanded, InvoiceRetrieveParams, InvoiceBuyerParam, InvoiceCreateDates, InvoiceCreateParams, InvoiceLineItemParam, InvoiceUpdateParams, InvoiceListParams, IncomingInvoiceCreateParams, InvoiceStatusResponse, InvoiceVerifyResponse, DocumentUrlResponse, JobResponse, PaymentLinkResponse, PaymentLinkCreateParams, PaymentTokenResponse, Payment, PaymentCreateParams, Customer, CustomerCreateParams, CustomerUpdateParams, CustomerListParams, CustomerLookupParams, SireneLookupResponse, SireneCompany, Product, PriceHistoryEntry, ProductCreateParams, ProductUpdateParams, ProductListParams, QuoteStatus, QuoteDates, QuoteSignature, Quote, QuoteCreateParams, QuoteUpdateParams, QuoteListParams, CreditNoteType, CreditNoteStatus, CreditNoteReasonCode, CreditNote, CreditNoteCreateParams, CreditNoteUpdateParams, CreditNoteListParams, WebhookEventType, WebhookEvent, EventListParams, WebhookEndpoint, WebhookEndpointCreateParams, WebhookEndpointUpdateParams, RecurringFrequency, RecurringInvoice, RecurringInvoiceCreateParams, RecurringInvoiceUpdateParams, RecurringInvoiceListParams, BankDetails, InvoiceSettings, CreditNoteSettings, CreditNoteNumberingMode, Company, CompanyUpdateParams, CgvResponse, FecExportParams, EReportingType, EReportingStatus, EReportingLine, EReportingLineResponse, EReporting, EReportingCreateParams, EReportingListParams, JobType, JobStatus, Job, SandboxResetResponse, SimulateStatusParams, SimulateStatusResponse, ReceivedInvoiceStatus, ReceivedInvoice, ReceivedInvoiceListParams, ReceivedInvoiceRefuseParams, ReceivedInvoiceRecordPaymentParams, ReceivedInvoiceActionResponse, VatReportParams, VatReportBreakdown, VatReport, RevenueReportParams, RevenueReportBreakdownItem, RevenueReport, AccountPlan, Account, BillingCycle, BillingSubscription, PlatformInvoice, UsageMeter, UsageSummary, ValidateParams, ValidateResponse, LegalForm, NafCode, LegalFormInput, NafCodeInput, PaProvider, HealthStatus, } from './types.js';
|
|
58
|
+
export type { FacturinoConfig, RequestOptions, PaginationParams, PaginatedResponse, ApiErrorBody, Address, Contact, ContactRole, LineItem, VatBreakdown, Totals, CustomerRef, CustomerSnapshot, LifecycleEntry, Currency, Unit, VatCode, VatexCode, PaymentMethod, InvoiceType, InvoiceStatus, InvoiceDates, InvoicePaymentTerms, InvoiceEinvoicing, InvoicePortal, InvoiceArchive, InvoiceFiles, Invoice, InvoiceExpandField, InvoiceExpanded, InvoiceRetrieveParams, InvoiceBuyerParam, InvoiceCreateDates, InvoiceCreateParams, InvoiceBindTaxDecisionParams, CommercialDraft, CommercialDraftLine, InvoiceLineItemParam, InvoiceUpdateParams, InvoiceListParams, IncomingInvoiceCreateParams, InvoiceStatusResponse, InvoiceVerifyResponse, DocumentUrlResponse, JobResponse, PaymentLinkResponse, PaymentLinkCreateParams, PaymentTokenResponse, Payment, PaymentCreateParams, Customer, CustomerCreateParams, CustomerUpdateParams, CustomerListParams, CustomerLookupParams, SireneLookupResponse, SireneCompany, Product, PriceHistoryEntry, ProductCreateParams, ProductUpdateParams, ProductListParams, QuoteStatus, QuoteDates, QuoteSignature, Quote, QuoteCreateParams, QuoteUpdateParams, QuoteListParams, CreditNoteType, CreditNoteStatus, CreditNoteReasonCode, CreditNote, CreditNoteCreateParams, CreditNoteUpdateParams, CreditNoteListParams, WebhookEventType, WebhookEvent, EventListParams, WebhookEndpoint, WebhookEndpointCreateParams, WebhookEndpointUpdateParams, RecurringFrequency, RecurringInvoice, RecurringInvoiceCreateParams, RecurringInvoiceUpdateParams, RecurringInvoiceListParams, BankDetails, InvoiceSettings, CreditNoteSettings, CreditNoteNumberingMode, Company, CompanyUpdateParams, CgvResponse, FecExportParams, EReportingType, EReportingStatus, EReportingLine, EReportingLineResponse, EReporting, EReportingCreateParams, EReportingListParams, JobType, JobStatus, Job, SandboxResetResponse, SimulateStatusParams, SimulateStatusResponse, ReceivedInvoiceStatus, ReceivedInvoice, ReceivedInvoiceListParams, ReceivedInvoiceRefuseParams, ReceivedInvoiceRecordPaymentParams, ReceivedInvoiceActionResponse, VatReportParams, VatReportBreakdown, VatReport, RevenueReportParams, RevenueReportBreakdownItem, RevenueReport, AccountPlan, Account, BillingCycle, BillingSubscription, PlatformInvoice, UsageMeter, UsageSummary, ValidateParams, ValidateResponse, PriceMode, SupplyCategory, PrimarySupplyCategory, RateCategory, GoodsMovement, TaxDecisionStatus, TaxDecisionDiscount, TaxDecisionLineParam, TaxDecisionCreateParams, TaxDecision, TaxDecisionLine, TaxDecisionCustomer, TaxDecisionIssue, TaxDecisionObligationReason, TaxDecisionVatBreakdownEntry, LocationEvidenceKind, LocationEvidenceParam, LocationEvidenceResult, NonEuBusinessEvidenceParam, NonEuBusinessEvidenceResult, EvidenceSource, ViesResult, InvoiceChannel, TransactionReporting, PaymentReporting, TaxSource, TaxSnapshot, DocumentStatus, TransmissionStatus, TransmissionDetail, PaymentStatus, DecisionBackedLineParam, InvoiceCreateBaseParams, CreditedLineParam, RecurringTaxLineParam, RecurringIntegrationTaxLineParam, RecurringTaxInputsParam, FacturinoTaxDecisionCreateParams, IntegrationTaxDecisionCreateParams, IntegrationTaxDecisionLineParam, LegalForm, NafCode, LegalFormInput, NafCodeInput, PaProvider, HealthStatus, } from './types.js';
|
|
57
59
|
export { FacturinoError, ApiError, InvalidRequestError, ValidationError, AuthenticationError, PermissionError, NotFoundError, ConflictError, RateLimitError, PlanLimitError, ApiInternalError, ConnectionError, } from './errors.js';
|
|
58
60
|
export { Webhooks } from './webhooks.js';
|
|
59
61
|
export { AutoPaginatingList } from './pagination.js';
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -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/esm/index.js
CHANGED
|
@@ -18,6 +18,7 @@ import { ReceivedInvoices } from './resources/received-invoices.js';
|
|
|
18
18
|
import { Reporting } from './resources/reporting.js';
|
|
19
19
|
import { AccountResource } from './resources/account.js';
|
|
20
20
|
import { Billing } from './resources/billing.js';
|
|
21
|
+
import { TaxDecisions } from './resources/taxDecisions.js';
|
|
21
22
|
import { Usage } from './resources/usage.js';
|
|
22
23
|
import { Validate } from './resources/validate.js';
|
|
23
24
|
import { Reference } from './resources/reference.js';
|
|
@@ -44,6 +45,7 @@ class Facturino {
|
|
|
44
45
|
this.jobs = new Jobs(client);
|
|
45
46
|
this.reference = new Reference(client);
|
|
46
47
|
this.sandbox = new Sandbox(client);
|
|
48
|
+
this.taxDecisions = new TaxDecisions(client);
|
|
47
49
|
this.usage = new Usage(client);
|
|
48
50
|
this.validate = new Validate(client);
|
|
49
51
|
this.webhooks = new Webhooks();
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAG9C,0GAA0G;AAC1G,MAAM,SAAS;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import type { HttpClient } from '../client.js';
|
|
2
2
|
import { AutoPaginatingList } from '../pagination.js';
|
|
3
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';
|
|
4
|
+
import type { Invoice, InvoiceCreateParams, InvoiceBindTaxDecisionParams, InvoiceUpdateParams, InvoiceListParams, InvoiceRetrieveParams, InvoiceStatusResponse, InvoiceVerifyResponse, DocumentUrlResponse, JobResponse, PaymentLinkResponse, PaymentLinkCreateParams, PaymentTokenResponse, PaginatedResponse, LifecycleEntry, IncomingInvoiceCreateParams, ReceivedInvoice, RequestOptions } from '../types.js';
|
|
5
5
|
/** Manages invoice lifecycle — creation, finalization, sending, and document retrieval. */
|
|
6
6
|
export declare class Invoices {
|
|
7
7
|
private readonly client;
|
|
8
8
|
readonly payments: Payments;
|
|
9
9
|
constructor(client: HttpClient);
|
|
10
|
+
/**
|
|
11
|
+
* Create an invoice — ALWAYS backed by a FINAL tax decision (`taxDecisionId`
|
|
12
|
+
* + `decisionLines`), whatever its fiscal source. The decided VAT, amounts
|
|
13
|
+
* and mentions are copied verbatim and frozen; `deposits` and `schedule` are
|
|
14
|
+
* settled server-side against the decided amount, inside the creation
|
|
15
|
+
* transaction. The types enforce this at compile time; the checks below turn
|
|
16
|
+
* the same misuse into an immediate local error instead of a round trip.
|
|
17
|
+
*/
|
|
10
18
|
create(params: InvoiceCreateParams, options?: RequestOptions): Promise<Invoice>;
|
|
11
19
|
list(params?: InvoiceListParams): AutoPaginatingList<Invoice>;
|
|
12
20
|
/**
|
|
@@ -19,6 +27,28 @@ export declare class Invoices {
|
|
|
19
27
|
update(id: string, params: InvoiceUpdateParams): Promise<Invoice>;
|
|
20
28
|
/** Soft-delete (draft only). */
|
|
21
29
|
del(id: string): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Bind a FINAL tax decision to a commercial draft that already exists —
|
|
32
|
+
* typically the one `quotes.convert()` produced.
|
|
33
|
+
*
|
|
34
|
+
* This closes the quote cycle on ONE document:
|
|
35
|
+
*
|
|
36
|
+
* ```ts
|
|
37
|
+
* const { invoiceId } = await facturino.quotes.convert(quoteId)
|
|
38
|
+
* const decision = await facturino.taxDecisions.create({ ... }, { idempotencyKey })
|
|
39
|
+
* await facturino.invoices.bindTaxDecision(invoiceId, {
|
|
40
|
+
* taxDecisionId: decision.id,
|
|
41
|
+
* decisionLines: [{ taxLineRef: 'l1', unit: 'unit' }],
|
|
42
|
+
* })
|
|
43
|
+
* await facturino.invoices.finalize(invoiceId)
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* The invoice stays a DRAFT: binding freezes the VAT, `finalize()` issues it.
|
|
47
|
+
* Idempotent on the decision — replaying the same call returns the same
|
|
48
|
+
* invoice. Binding a different decision to a bound invoice, or the same
|
|
49
|
+
* decision to a second invoice, is a conflict.
|
|
50
|
+
*/
|
|
51
|
+
bindTaxDecision(id: string, params: InvoiceBindTaxDecisionParams, options?: RequestOptions): Promise<Invoice>;
|
|
22
52
|
/** Assign number and lock. Irreversible. */
|
|
23
53
|
finalize(id: string, options?: RequestOptions): Promise<Invoice>;
|
|
24
54
|
/** Submit to PA. Returns 202 (async). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoices.d.ts","sourceRoot":"","sources":["../../../src/resources/invoices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,2FAA2F;AAC3F,qBAAa,QAAQ;IAGP,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;gBAEE,MAAM,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"invoices.d.ts","sourceRoot":"","sources":["../../../src/resources/invoices.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,27 @@ export class Invoices {
|
|
|
6
6
|
this.client = client;
|
|
7
7
|
this.payments = new Payments(client);
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Create an invoice — ALWAYS backed by a FINAL tax decision (`taxDecisionId`
|
|
11
|
+
* + `decisionLines`), whatever its fiscal source. The decided VAT, amounts
|
|
12
|
+
* and mentions are copied verbatim and frozen; `deposits` and `schedule` are
|
|
13
|
+
* settled server-side against the decided amount, inside the creation
|
|
14
|
+
* transaction. The types enforce this at compile time; the checks below turn
|
|
15
|
+
* the same misuse into an immediate local error instead of a round trip.
|
|
16
|
+
*/
|
|
9
17
|
async create(params, options) {
|
|
18
|
+
const runtime = params;
|
|
19
|
+
if (typeof runtime.taxDecisionId !== 'string' || runtime.taxDecisionId.length === 0) {
|
|
20
|
+
throw new Error(`'taxDecisionId' is required: every invoice is backed by a FINAL tax decision `
|
|
21
|
+
+ `(facturino or integration source). Create one with taxDecisions.create() first.`);
|
|
22
|
+
}
|
|
23
|
+
if (!Array.isArray(runtime.decisionLines) || runtime.decisionLines.length === 0) {
|
|
24
|
+
throw new Error(`'decisionLines' is required: one presentation line per decision line, matched by 'taxLineRef'.`);
|
|
25
|
+
}
|
|
26
|
+
if ('lines' in runtime && runtime.lines !== undefined) {
|
|
27
|
+
throw new Error(`'lines' is not part of the invoice contract: the VAT of an invoice comes from its `
|
|
28
|
+
+ `tax decision. Send 'decisionLines' (presentation only).`);
|
|
29
|
+
}
|
|
10
30
|
return this.client.post('/v1/invoices', params, options);
|
|
11
31
|
}
|
|
12
32
|
list(params) {
|
|
@@ -30,6 +50,37 @@ export class Invoices {
|
|
|
30
50
|
async del(id) {
|
|
31
51
|
await this.client.del(`/v1/invoices/${id}`);
|
|
32
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Bind a FINAL tax decision to a commercial draft that already exists —
|
|
55
|
+
* typically the one `quotes.convert()` produced.
|
|
56
|
+
*
|
|
57
|
+
* This closes the quote cycle on ONE document:
|
|
58
|
+
*
|
|
59
|
+
* ```ts
|
|
60
|
+
* const { invoiceId } = await facturino.quotes.convert(quoteId)
|
|
61
|
+
* const decision = await facturino.taxDecisions.create({ ... }, { idempotencyKey })
|
|
62
|
+
* await facturino.invoices.bindTaxDecision(invoiceId, {
|
|
63
|
+
* taxDecisionId: decision.id,
|
|
64
|
+
* decisionLines: [{ taxLineRef: 'l1', unit: 'unit' }],
|
|
65
|
+
* })
|
|
66
|
+
* await facturino.invoices.finalize(invoiceId)
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* The invoice stays a DRAFT: binding freezes the VAT, `finalize()` issues it.
|
|
70
|
+
* Idempotent on the decision — replaying the same call returns the same
|
|
71
|
+
* invoice. Binding a different decision to a bound invoice, or the same
|
|
72
|
+
* decision to a second invoice, is a conflict.
|
|
73
|
+
*/
|
|
74
|
+
async bindTaxDecision(id, params, options) {
|
|
75
|
+
const runtime = params;
|
|
76
|
+
if (typeof runtime.taxDecisionId !== 'string' || runtime.taxDecisionId.length === 0) {
|
|
77
|
+
throw new Error(`'taxDecisionId' is required: a draft is fiscalised by binding a FINAL tax decision to it.`);
|
|
78
|
+
}
|
|
79
|
+
if (!Array.isArray(runtime.decisionLines) || runtime.decisionLines.length === 0) {
|
|
80
|
+
throw new Error(`'decisionLines' is required: one presentation line per decision line, matched by 'taxLineRef'.`);
|
|
81
|
+
}
|
|
82
|
+
return this.client.post(`/v1/invoices/${id}/bind-tax-decision`, params, options);
|
|
83
|
+
}
|
|
33
84
|
/** Assign number and lock. Irreversible. */
|
|
34
85
|
async finalize(id, options) {
|
|
35
86
|
return this.client.post(`/v1/invoices/${id}/finalize`, undefined, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../../src/resources/invoices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../../src/resources/invoices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { HttpClient } from '../client.js';
|
|
2
|
+
import type { TaxDecision, TaxDecisionCreateParams, RequestOptions } from '../types.js';
|
|
3
|
+
export declare class TaxDecisions {
|
|
4
|
+
private readonly client;
|
|
5
|
+
constructor(client: HttpClient);
|
|
6
|
+
/**
|
|
7
|
+
* Take a decision on a commercial operation.
|
|
8
|
+
*
|
|
9
|
+
* Business idempotency is durable here, beyond the 24-hour transport window,
|
|
10
|
+
* and it is keyed on the KEY — not on the operation. The SAME
|
|
11
|
+
* `idempotencyKey` with the SAME canonical body always replays the SAME
|
|
12
|
+
* decision, so a retry after a lost response costs nothing and charges
|
|
13
|
+
* nothing twice. Two DIFFERENT keys describing the same operation produce TWO
|
|
14
|
+
* decisions: nothing matches them up, and reusing one key with a different
|
|
15
|
+
* body answers `409`.
|
|
16
|
+
*
|
|
17
|
+
* Only a `final` decision carries amounts. On `pending_verification` or
|
|
18
|
+
* `unsupported`, `totals` and `amountToCharge` are `null` — never `0` — and
|
|
19
|
+
* `issues` says what is missing.
|
|
20
|
+
*/
|
|
21
|
+
create(params: TaxDecisionCreateParams, options: RequestOptions & {
|
|
22
|
+
idempotencyKey: string;
|
|
23
|
+
}): Promise<TaxDecision>;
|
|
24
|
+
/**
|
|
25
|
+
* Read a decision back — typically after a payment capture, to check that the
|
|
26
|
+
* captured amount, currency and buyer match what was decided.
|
|
27
|
+
*/
|
|
28
|
+
retrieve(id: string): Promise<TaxDecision>;
|
|
29
|
+
/** Alias of {@link TaxDecisions.retrieve}, for consistency with the other resources. */
|
|
30
|
+
get(id: string): Promise<TaxDecision>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=taxDecisions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taxDecisions.d.ts","sourceRoot":"","sources":["../../../src/resources/taxDecisions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAgBvF,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAE/C;;;;;;;;;;;;;;OAcG;IACG,MAAM,CACV,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,cAAc,GAAG;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GACnD,OAAO,CAAC,WAAW,CAAC;IAkBvB;;;OAGG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIhD,wFAAwF;IAClF,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAG5C"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tax decisions — the fiscal position of one commercial operation.
|
|
3
|
+
*
|
|
4
|
+
* A decision fixes the VAT, the exact amount to charge and the three reporting
|
|
5
|
+
* axes, then never changes. Ask for one BEFORE you charge anything: the amount
|
|
6
|
+
* to debit is `amountToCharge`, not a total computed locally.
|
|
7
|
+
*
|
|
8
|
+
* The resource is immutable by design — there is no update and no delete. To
|
|
9
|
+
* re-decide the same operation after supplying missing evidence, create a new
|
|
10
|
+
* decision with `retryOfTaxDecisionId`.
|
|
11
|
+
*/
|
|
12
|
+
/** Maximum length the API accepts for `Idempotency-Key`. */
|
|
13
|
+
const MAX_IDEMPOTENCY_KEY_LENGTH = 255;
|
|
14
|
+
export class TaxDecisions {
|
|
15
|
+
constructor(client) {
|
|
16
|
+
this.client = client;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Take a decision on a commercial operation.
|
|
20
|
+
*
|
|
21
|
+
* Business idempotency is durable here, beyond the 24-hour transport window,
|
|
22
|
+
* and it is keyed on the KEY — not on the operation. The SAME
|
|
23
|
+
* `idempotencyKey` with the SAME canonical body always replays the SAME
|
|
24
|
+
* decision, so a retry after a lost response costs nothing and charges
|
|
25
|
+
* nothing twice. Two DIFFERENT keys describing the same operation produce TWO
|
|
26
|
+
* decisions: nothing matches them up, and reusing one key with a different
|
|
27
|
+
* body answers `409`.
|
|
28
|
+
*
|
|
29
|
+
* Only a `final` decision carries amounts. On `pending_verification` or
|
|
30
|
+
* `unsupported`, `totals` and `amountToCharge` are `null` — never `0` — and
|
|
31
|
+
* `issues` says what is missing.
|
|
32
|
+
*/
|
|
33
|
+
async create(params, options) {
|
|
34
|
+
const key = typeof options?.idempotencyKey === 'string' ? options.idempotencyKey.trim() : '';
|
|
35
|
+
if (key.length === 0) {
|
|
36
|
+
throw new Error('Idempotency-Key is required to create a tax decision');
|
|
37
|
+
}
|
|
38
|
+
// The API caps the key at 255 characters. Checking it here turns a round
|
|
39
|
+
// trip and a 400 into an immediate, local error.
|
|
40
|
+
if (key.length > MAX_IDEMPOTENCY_KEY_LENGTH) {
|
|
41
|
+
throw new Error(`Idempotency-Key must be at most ${MAX_IDEMPOTENCY_KEY_LENGTH} characters (received ${key.length})`);
|
|
42
|
+
}
|
|
43
|
+
// 201 on creation, 200 when the same key already produced this decision.
|
|
44
|
+
// Both carry the decision itself, so the caller reads one shape either way;
|
|
45
|
+
// a different body under the same key answers 409 (ConflictError).
|
|
46
|
+
return this.client.post('/v1/tax-decisions', params, options);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Read a decision back — typically after a payment capture, to check that the
|
|
50
|
+
* captured amount, currency and buyer match what was decided.
|
|
51
|
+
*/
|
|
52
|
+
async retrieve(id) {
|
|
53
|
+
return this.client.get(`/v1/tax-decisions/${id}`);
|
|
54
|
+
}
|
|
55
|
+
/** Alias of {@link TaxDecisions.retrieve}, for consistency with the other resources. */
|
|
56
|
+
async get(id) {
|
|
57
|
+
return this.retrieve(id);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=taxDecisions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taxDecisions.js","sourceRoot":"","sources":["../../../src/resources/taxDecisions.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,4DAA4D;AAC5D,MAAM,0BAA0B,GAAG,GAAG,CAAA;AAEtC,MAAM,OAAO,YAAY;IACvB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,MAAM,CACV,MAA+B,EAC/B,OAAoD;QAEpD,MAAM,GAAG,GAAG,OAAO,OAAO,EAAE,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5F,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACzE,CAAC;QACD,yEAAyE;QACzE,iDAAiD;QACjD,IAAI,GAAG,CAAC,MAAM,GAAG,0BAA0B,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,mCAAmC,0BAA0B,yBAAyB,GAAG,CAAC,MAAM,GAAG,CACpG,CAAA;QACH,CAAC;QACD,yEAAyE;QACzE,4EAA4E;QAC5E,mEAAmE;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAc,mBAAmB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAc,qBAAqB,EAAE,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;CACF"}
|