@elyonar/einvoice-js 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.
Files changed (148) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +230 -0
  3. package/dist/cjs/client/http-client.d.ts +52 -0
  4. package/dist/cjs/client/http-client.d.ts.map +1 -0
  5. package/dist/cjs/client/http-client.js +117 -0
  6. package/dist/cjs/client/http-client.js.map +1 -0
  7. package/dist/cjs/client/index.d.ts +3 -0
  8. package/dist/cjs/client/index.d.ts.map +1 -0
  9. package/dist/cjs/client/index.js +6 -0
  10. package/dist/cjs/client/index.js.map +1 -0
  11. package/dist/cjs/einvoice.d.ts +69 -0
  12. package/dist/cjs/einvoice.d.ts.map +1 -0
  13. package/dist/cjs/einvoice.js +79 -0
  14. package/dist/cjs/einvoice.js.map +1 -0
  15. package/dist/cjs/errors.d.ts +74 -0
  16. package/dist/cjs/errors.d.ts.map +1 -0
  17. package/dist/cjs/errors.js +98 -0
  18. package/dist/cjs/errors.js.map +1 -0
  19. package/dist/cjs/index.d.ts +12 -0
  20. package/dist/cjs/index.d.ts.map +1 -0
  21. package/dist/cjs/index.js +40 -0
  22. package/dist/cjs/index.js.map +1 -0
  23. package/dist/cjs/package.json +1 -0
  24. package/dist/cjs/services/billing.d.ts +75 -0
  25. package/dist/cjs/services/billing.d.ts.map +1 -0
  26. package/dist/cjs/services/billing.js +172 -0
  27. package/dist/cjs/services/billing.js.map +1 -0
  28. package/dist/cjs/services/buyers.d.ts +57 -0
  29. package/dist/cjs/services/buyers.d.ts.map +1 -0
  30. package/dist/cjs/services/buyers.js +110 -0
  31. package/dist/cjs/services/buyers.js.map +1 -0
  32. package/dist/cjs/services/index.d.ts +5 -0
  33. package/dist/cjs/services/index.d.ts.map +1 -0
  34. package/dist/cjs/services/index.js +12 -0
  35. package/dist/cjs/services/index.js.map +1 -0
  36. package/dist/cjs/services/invoices.d.ts +94 -0
  37. package/dist/cjs/services/invoices.d.ts.map +1 -0
  38. package/dist/cjs/services/invoices.js +193 -0
  39. package/dist/cjs/services/invoices.js.map +1 -0
  40. package/dist/cjs/services/sellers.d.ts +61 -0
  41. package/dist/cjs/services/sellers.d.ts.map +1 -0
  42. package/dist/cjs/services/sellers.js +114 -0
  43. package/dist/cjs/services/sellers.js.map +1 -0
  44. package/dist/cjs/types/billing.d.ts +174 -0
  45. package/dist/cjs/types/billing.d.ts.map +1 -0
  46. package/dist/cjs/types/billing.js +6 -0
  47. package/dist/cjs/types/billing.js.map +1 -0
  48. package/dist/cjs/types/common.d.ts +53 -0
  49. package/dist/cjs/types/common.d.ts.map +1 -0
  50. package/dist/cjs/types/common.js +6 -0
  51. package/dist/cjs/types/common.js.map +1 -0
  52. package/dist/cjs/types/index.d.ts +6 -0
  53. package/dist/cjs/types/index.d.ts.map +1 -0
  54. package/dist/cjs/types/index.js +3 -0
  55. package/dist/cjs/types/index.js.map +1 -0
  56. package/dist/cjs/types/invoice.d.ts +183 -0
  57. package/dist/cjs/types/invoice.d.ts.map +1 -0
  58. package/dist/cjs/types/invoice.js +6 -0
  59. package/dist/cjs/types/invoice.js.map +1 -0
  60. package/dist/cjs/types/party.d.ts +128 -0
  61. package/dist/cjs/types/party.d.ts.map +1 -0
  62. package/dist/cjs/types/party.js +3 -0
  63. package/dist/cjs/types/party.js.map +1 -0
  64. package/dist/cjs/types/webhook.d.ts +14 -0
  65. package/dist/cjs/types/webhook.d.ts.map +1 -0
  66. package/dist/cjs/types/webhook.js +6 -0
  67. package/dist/cjs/types/webhook.js.map +1 -0
  68. package/dist/cjs/webhooks/index.d.ts +3 -0
  69. package/dist/cjs/webhooks/index.d.ts.map +1 -0
  70. package/dist/cjs/webhooks/index.js +6 -0
  71. package/dist/cjs/webhooks/index.js.map +1 -0
  72. package/dist/cjs/webhooks/verify.d.ts +43 -0
  73. package/dist/cjs/webhooks/verify.d.ts.map +1 -0
  74. package/dist/cjs/webhooks/verify.js +92 -0
  75. package/dist/cjs/webhooks/verify.js.map +1 -0
  76. package/dist/esm/client/http-client.d.ts +52 -0
  77. package/dist/esm/client/http-client.d.ts.map +1 -0
  78. package/dist/esm/client/http-client.js +113 -0
  79. package/dist/esm/client/http-client.js.map +1 -0
  80. package/dist/esm/client/index.d.ts +3 -0
  81. package/dist/esm/client/index.d.ts.map +1 -0
  82. package/dist/esm/client/index.js +2 -0
  83. package/dist/esm/client/index.js.map +1 -0
  84. package/dist/esm/einvoice.d.ts +69 -0
  85. package/dist/esm/einvoice.d.ts.map +1 -0
  86. package/dist/esm/einvoice.js +75 -0
  87. package/dist/esm/einvoice.js.map +1 -0
  88. package/dist/esm/errors.d.ts +74 -0
  89. package/dist/esm/errors.d.ts.map +1 -0
  90. package/dist/esm/errors.js +89 -0
  91. package/dist/esm/errors.js.map +1 -0
  92. package/dist/esm/index.d.ts +12 -0
  93. package/dist/esm/index.d.ts.map +1 -0
  94. package/dist/esm/index.js +24 -0
  95. package/dist/esm/index.js.map +1 -0
  96. package/dist/esm/services/billing.d.ts +75 -0
  97. package/dist/esm/services/billing.d.ts.map +1 -0
  98. package/dist/esm/services/billing.js +168 -0
  99. package/dist/esm/services/billing.js.map +1 -0
  100. package/dist/esm/services/buyers.d.ts +57 -0
  101. package/dist/esm/services/buyers.d.ts.map +1 -0
  102. package/dist/esm/services/buyers.js +106 -0
  103. package/dist/esm/services/buyers.js.map +1 -0
  104. package/dist/esm/services/index.d.ts +5 -0
  105. package/dist/esm/services/index.d.ts.map +1 -0
  106. package/dist/esm/services/index.js +5 -0
  107. package/dist/esm/services/index.js.map +1 -0
  108. package/dist/esm/services/invoices.d.ts +94 -0
  109. package/dist/esm/services/invoices.d.ts.map +1 -0
  110. package/dist/esm/services/invoices.js +189 -0
  111. package/dist/esm/services/invoices.js.map +1 -0
  112. package/dist/esm/services/sellers.d.ts +61 -0
  113. package/dist/esm/services/sellers.d.ts.map +1 -0
  114. package/dist/esm/services/sellers.js +110 -0
  115. package/dist/esm/services/sellers.js.map +1 -0
  116. package/dist/esm/types/billing.d.ts +174 -0
  117. package/dist/esm/types/billing.d.ts.map +1 -0
  118. package/dist/esm/types/billing.js +5 -0
  119. package/dist/esm/types/billing.js.map +1 -0
  120. package/dist/esm/types/common.d.ts +53 -0
  121. package/dist/esm/types/common.d.ts.map +1 -0
  122. package/dist/esm/types/common.js +5 -0
  123. package/dist/esm/types/common.js.map +1 -0
  124. package/dist/esm/types/index.d.ts +6 -0
  125. package/dist/esm/types/index.d.ts.map +1 -0
  126. package/dist/esm/types/index.js +2 -0
  127. package/dist/esm/types/index.js.map +1 -0
  128. package/dist/esm/types/invoice.d.ts +183 -0
  129. package/dist/esm/types/invoice.d.ts.map +1 -0
  130. package/dist/esm/types/invoice.js +5 -0
  131. package/dist/esm/types/invoice.js.map +1 -0
  132. package/dist/esm/types/party.d.ts +128 -0
  133. package/dist/esm/types/party.d.ts.map +1 -0
  134. package/dist/esm/types/party.js +2 -0
  135. package/dist/esm/types/party.js.map +1 -0
  136. package/dist/esm/types/webhook.d.ts +14 -0
  137. package/dist/esm/types/webhook.d.ts.map +1 -0
  138. package/dist/esm/types/webhook.js +5 -0
  139. package/dist/esm/types/webhook.js.map +1 -0
  140. package/dist/esm/webhooks/index.d.ts +3 -0
  141. package/dist/esm/webhooks/index.d.ts.map +1 -0
  142. package/dist/esm/webhooks/index.js +2 -0
  143. package/dist/esm/webhooks/index.js.map +1 -0
  144. package/dist/esm/webhooks/verify.d.ts +43 -0
  145. package/dist/esm/webhooks/verify.d.ts.map +1 -0
  146. package/dist/esm/webhooks/verify.js +89 -0
  147. package/dist/esm/webhooks/verify.js.map +1 -0
  148. package/package.json +87 -0
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BuyerService = void 0;
4
+ /**
5
+ * Service for managing buyers (customers who receive invoices).
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const client = new EInvoice({ apiKey: 'sk_test_...' });
10
+ *
11
+ * const buyer = await client.buyers.create({
12
+ * partyName: 'Widget Co',
13
+ * tin: '98765432-0001',
14
+ * buyerType: 'COMPANY',
15
+ * });
16
+ * ```
17
+ */
18
+ class BuyerService {
19
+ http;
20
+ /** @internal */
21
+ constructor(http) {
22
+ this.http = http;
23
+ }
24
+ /**
25
+ * Register a new buyer.
26
+ */
27
+ async create(params, options) {
28
+ return this.http.request({
29
+ method: 'POST',
30
+ path: '/i/v1/buyers',
31
+ body: params,
32
+ requestOptions: options,
33
+ });
34
+ }
35
+ /**
36
+ * Get a buyer by ID.
37
+ */
38
+ async get(id, options) {
39
+ return this.http.request({
40
+ method: 'GET',
41
+ path: `/i/v1/buyers/${id}`,
42
+ requestOptions: options,
43
+ });
44
+ }
45
+ /**
46
+ * List buyers with optional filtering and pagination.
47
+ */
48
+ async list(params, options) {
49
+ return this.http.request({
50
+ method: 'GET',
51
+ path: '/i/v1/buyers',
52
+ query: params,
53
+ requestOptions: options,
54
+ });
55
+ }
56
+ /**
57
+ * Update buyer details. Note: TIN cannot be changed after creation.
58
+ */
59
+ async update(id, params, options) {
60
+ return this.http.request({
61
+ method: 'PATCH',
62
+ path: `/i/v1/buyers/${id}`,
63
+ body: params,
64
+ requestOptions: options,
65
+ });
66
+ }
67
+ /**
68
+ * Delete a buyer. Only buyers with no associated invoices can be deleted.
69
+ */
70
+ async delete(id, options) {
71
+ return this.http.request({
72
+ method: 'DELETE',
73
+ path: `/i/v1/buyers/${id}`,
74
+ requestOptions: options,
75
+ });
76
+ }
77
+ /**
78
+ * Trigger TIN verification with the tax authority.
79
+ */
80
+ async verifyTin(id, options) {
81
+ return this.http.request({
82
+ method: 'POST',
83
+ path: `/i/v1/buyers/${id}/verify-tax-number`,
84
+ requestOptions: options,
85
+ });
86
+ }
87
+ /**
88
+ * Check TIN verification status.
89
+ */
90
+ async getVerificationStatus(id, options) {
91
+ return this.http.request({
92
+ method: 'GET',
93
+ path: `/i/v1/buyers/${id}/verification-status`,
94
+ requestOptions: options,
95
+ });
96
+ }
97
+ /**
98
+ * Search buyers by name or TIN.
99
+ */
100
+ async search(query, options) {
101
+ return this.http.request({
102
+ method: 'GET',
103
+ path: '/i/v1/buyers/search',
104
+ query: { q: query },
105
+ requestOptions: options,
106
+ });
107
+ }
108
+ }
109
+ exports.BuyerService = BuyerService;
110
+ //# sourceMappingURL=buyers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buyers.js","sourceRoot":"","sources":["../../../src/services/buyers.ts"],"names":[],"mappings":";;;AAWA;;;;;;;;;;;;;GAaG;AACH,MAAa,YAAY;IAEM;IAD7B,gBAAgB;IAChB,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAAyB,EAAE,OAAwB;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAQ;YAC9B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,OAAwB;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAQ;YAC9B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,gBAAgB,EAAE,EAAE;YAC1B,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,MAAyB,EAAE,OAAwB;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAU;YAChC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,MAAqD;YAC5D,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAAyB,EAAE,OAAwB;QAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAQ;YAC9B,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,gBAAgB,EAAE,EAAE;YAC1B,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAwB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuB;YAC7C,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,gBAAgB,EAAE,EAAE;YAC1B,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,EAAU,EAAE,OAAwB;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAwB;YAC9C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,gBAAgB,EAAE,oBAAoB;YAC5C,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,EAAU,EAAE,OAAwB;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAwB;YAC9C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,gBAAgB,EAAE,sBAAsB;YAC9C,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAAwB;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAe;YACrC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;YACnB,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;CACF;AA/FD,oCA+FC"}
@@ -0,0 +1,5 @@
1
+ export { InvoiceService } from './invoices.js';
2
+ export { SellerService } from './sellers.js';
3
+ export { BuyerService } from './buyers.js';
4
+ export { BillingService } from './billing.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BillingService = exports.BuyerService = exports.SellerService = exports.InvoiceService = void 0;
4
+ var invoices_js_1 = require("./invoices.js");
5
+ Object.defineProperty(exports, "InvoiceService", { enumerable: true, get: function () { return invoices_js_1.InvoiceService; } });
6
+ var sellers_js_1 = require("./sellers.js");
7
+ Object.defineProperty(exports, "SellerService", { enumerable: true, get: function () { return sellers_js_1.SellerService; } });
8
+ var buyers_js_1 = require("./buyers.js");
9
+ Object.defineProperty(exports, "BuyerService", { enumerable: true, get: function () { return buyers_js_1.BuyerService; } });
10
+ var billing_js_1 = require("./billing.js");
11
+ Object.defineProperty(exports, "BillingService", { enumerable: true, get: function () { return billing_js_1.BillingService; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAAtC,6GAAA,cAAc,OAAA;AACvB,2CAA6C;AAApC,2GAAA,aAAa,OAAA;AACtB,yCAA2C;AAAlC,yGAAA,YAAY,OAAA;AACrB,2CAA8C;AAArC,4GAAA,cAAc,OAAA"}
@@ -0,0 +1,94 @@
1
+ import type { HttpClient } from '../client/http-client.js';
2
+ import type { ApiResponse, RequestOptions } from '../types/common.js';
3
+ import type { Invoice, CreateInvoiceParams, UpdateInvoiceParams, ListInvoicesParams, SubmitResult, BatchSubmitResult, RetryResult, InvoiceStatusResult, ValidationResult, DownloadResult, InvoiceStatistics, InvoiceStatisticsParams, CancelInvoiceParams } from '../types/invoice.js';
4
+ /**
5
+ * Service for managing invoices.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const client = new EInvoice({ apiKey: 'sk_test_...' });
10
+ *
11
+ * // Create an invoice
12
+ * const invoice = await client.invoices.create({
13
+ * sellerId: 'sel_123',
14
+ * buyerId: 'buy_456',
15
+ * invoiceDate: '2026-03-20',
16
+ * dueDate: '2026-04-20',
17
+ * currency: 'NGN',
18
+ * lineItems: [{ description: 'Widget', quantity: 10, unitPrice: 500, vatRate: 7.5 }],
19
+ * });
20
+ *
21
+ * // Submit to tax authority
22
+ * await client.invoices.submit(invoice.data.id);
23
+ * ```
24
+ */
25
+ export declare class InvoiceService {
26
+ private readonly http;
27
+ /** @internal */
28
+ constructor(http: HttpClient);
29
+ /**
30
+ * Create a new draft invoice.
31
+ */
32
+ create(params: CreateInvoiceParams, options?: RequestOptions): Promise<ApiResponse<Invoice>>;
33
+ /**
34
+ * Get an invoice by ID.
35
+ */
36
+ get(id: string, options?: RequestOptions): Promise<ApiResponse<Invoice>>;
37
+ /**
38
+ * List invoices with optional filtering and pagination.
39
+ */
40
+ list(params?: ListInvoicesParams, options?: RequestOptions): Promise<ApiResponse<Invoice[]>>;
41
+ /**
42
+ * Update a draft invoice. Only invoices in `draft` status can be updated.
43
+ */
44
+ update(id: string, params: UpdateInvoiceParams, options?: RequestOptions): Promise<ApiResponse<Invoice>>;
45
+ /**
46
+ * Permanently delete a draft invoice. Only invoices in `draft` status can be deleted.
47
+ */
48
+ delete(id: string, options?: RequestOptions): Promise<ApiResponse<{
49
+ deleted: boolean;
50
+ }>>;
51
+ /**
52
+ * Submit an invoice to the tax authority for validation. This action is irreversible.
53
+ * The invoice must be in `draft` status.
54
+ */
55
+ submit(id: string, options?: RequestOptions): Promise<ApiResponse<SubmitResult>>;
56
+ /**
57
+ * Submit multiple invoices in a single batch (1–100 invoices).
58
+ */
59
+ batchSubmit(invoiceIds: string[], options?: RequestOptions): Promise<ApiResponse<BatchSubmitResult>>;
60
+ /**
61
+ * Retry a failed invoice submission.
62
+ */
63
+ retry(id: string, options?: RequestOptions): Promise<ApiResponse<RetryResult>>;
64
+ /**
65
+ * Cancel an accepted invoice. This creates a credit note.
66
+ */
67
+ cancel(id: string, params: CancelInvoiceParams, options?: RequestOptions): Promise<ApiResponse<Invoice>>;
68
+ /**
69
+ * Get the current status of an invoice from the local database.
70
+ */
71
+ getStatus(id: string, options?: RequestOptions): Promise<ApiResponse<InvoiceStatusResult>>;
72
+ /**
73
+ * Query the tax authority for real-time invoice status.
74
+ */
75
+ queryStatus(id: string, options?: RequestOptions): Promise<ApiResponse<InvoiceStatusResult>>;
76
+ /**
77
+ * Validate invoice data without creating an invoice.
78
+ * Returns validation errors, warnings, and calculated amounts.
79
+ */
80
+ validate(params: CreateInvoiceParams, options?: RequestOptions): Promise<ApiResponse<ValidationResult>>;
81
+ /**
82
+ * Get a temporary download URL for the invoice PDF or XML.
83
+ */
84
+ download(id: string, format?: 'pdf' | 'xml', options?: RequestOptions): Promise<ApiResponse<DownloadResult>>;
85
+ /**
86
+ * Get invoice statistics and analytics.
87
+ */
88
+ getStatistics(params?: InvoiceStatisticsParams, options?: RequestOptions): Promise<ApiResponse<InvoiceStatistics>>;
89
+ /**
90
+ * Get reference data needed for invoice creation (currencies, tax rates, etc.).
91
+ */
92
+ getSetup(options?: RequestOptions): Promise<ApiResponse<Record<string, unknown>>>;
93
+ }
94
+ //# sourceMappingURL=invoices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoices.d.ts","sourceRoot":"","sources":["../../../src/services/invoices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvoiceService = void 0;
4
+ /**
5
+ * Service for managing invoices.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const client = new EInvoice({ apiKey: 'sk_test_...' });
10
+ *
11
+ * // Create an invoice
12
+ * const invoice = await client.invoices.create({
13
+ * sellerId: 'sel_123',
14
+ * buyerId: 'buy_456',
15
+ * invoiceDate: '2026-03-20',
16
+ * dueDate: '2026-04-20',
17
+ * currency: 'NGN',
18
+ * lineItems: [{ description: 'Widget', quantity: 10, unitPrice: 500, vatRate: 7.5 }],
19
+ * });
20
+ *
21
+ * // Submit to tax authority
22
+ * await client.invoices.submit(invoice.data.id);
23
+ * ```
24
+ */
25
+ class InvoiceService {
26
+ http;
27
+ /** @internal */
28
+ constructor(http) {
29
+ this.http = http;
30
+ }
31
+ /**
32
+ * Create a new draft invoice.
33
+ */
34
+ async create(params, options) {
35
+ return this.http.request({
36
+ method: 'POST',
37
+ path: '/i/v1/invoices',
38
+ body: params,
39
+ requestOptions: options,
40
+ });
41
+ }
42
+ /**
43
+ * Get an invoice by ID.
44
+ */
45
+ async get(id, options) {
46
+ return this.http.request({
47
+ method: 'GET',
48
+ path: `/i/v1/invoices/${id}`,
49
+ requestOptions: options,
50
+ });
51
+ }
52
+ /**
53
+ * List invoices with optional filtering and pagination.
54
+ */
55
+ async list(params, options) {
56
+ return this.http.request({
57
+ method: 'GET',
58
+ path: '/i/v1/invoices',
59
+ query: params,
60
+ requestOptions: options,
61
+ });
62
+ }
63
+ /**
64
+ * Update a draft invoice. Only invoices in `draft` status can be updated.
65
+ */
66
+ async update(id, params, options) {
67
+ return this.http.request({
68
+ method: 'PATCH',
69
+ path: `/i/v1/invoices/${id}`,
70
+ body: params,
71
+ requestOptions: options,
72
+ });
73
+ }
74
+ /**
75
+ * Permanently delete a draft invoice. Only invoices in `draft` status can be deleted.
76
+ */
77
+ async delete(id, options) {
78
+ return this.http.request({
79
+ method: 'DELETE',
80
+ path: `/i/v1/invoices/${id}`,
81
+ requestOptions: options,
82
+ });
83
+ }
84
+ /**
85
+ * Submit an invoice to the tax authority for validation. This action is irreversible.
86
+ * The invoice must be in `draft` status.
87
+ */
88
+ async submit(id, options) {
89
+ return this.http.request({
90
+ method: 'POST',
91
+ path: `/i/v1/invoices/${id}/submit`,
92
+ requestOptions: options,
93
+ });
94
+ }
95
+ /**
96
+ * Submit multiple invoices in a single batch (1–100 invoices).
97
+ */
98
+ async batchSubmit(invoiceIds, options) {
99
+ return this.http.request({
100
+ method: 'POST',
101
+ path: '/i/v1/invoices/batch-submit',
102
+ body: { invoiceIds },
103
+ requestOptions: options,
104
+ });
105
+ }
106
+ /**
107
+ * Retry a failed invoice submission.
108
+ */
109
+ async retry(id, options) {
110
+ return this.http.request({
111
+ method: 'POST',
112
+ path: `/i/v1/invoices/${id}/retry`,
113
+ requestOptions: options,
114
+ });
115
+ }
116
+ /**
117
+ * Cancel an accepted invoice. This creates a credit note.
118
+ */
119
+ async cancel(id, params, options) {
120
+ return this.http.request({
121
+ method: 'POST',
122
+ path: `/i/v1/invoices/${id}/cancel`,
123
+ body: params,
124
+ requestOptions: options,
125
+ });
126
+ }
127
+ /**
128
+ * Get the current status of an invoice from the local database.
129
+ */
130
+ async getStatus(id, options) {
131
+ return this.http.request({
132
+ method: 'GET',
133
+ path: `/i/v1/invoices/${id}/status`,
134
+ requestOptions: options,
135
+ });
136
+ }
137
+ /**
138
+ * Query the tax authority for real-time invoice status.
139
+ */
140
+ async queryStatus(id, options) {
141
+ return this.http.request({
142
+ method: 'POST',
143
+ path: `/i/v1/invoices/${id}/query-status`,
144
+ requestOptions: options,
145
+ });
146
+ }
147
+ /**
148
+ * Validate invoice data without creating an invoice.
149
+ * Returns validation errors, warnings, and calculated amounts.
150
+ */
151
+ async validate(params, options) {
152
+ return this.http.request({
153
+ method: 'POST',
154
+ path: '/i/v1/invoices/validate',
155
+ body: params,
156
+ requestOptions: options,
157
+ });
158
+ }
159
+ /**
160
+ * Get a temporary download URL for the invoice PDF or XML.
161
+ */
162
+ async download(id, format, options) {
163
+ return this.http.request({
164
+ method: 'GET',
165
+ path: `/i/v1/invoices/${id}/download`,
166
+ query: { format },
167
+ requestOptions: options,
168
+ });
169
+ }
170
+ /**
171
+ * Get invoice statistics and analytics.
172
+ */
173
+ async getStatistics(params, options) {
174
+ return this.http.request({
175
+ method: 'GET',
176
+ path: '/i/v1/invoices/statistics',
177
+ query: params,
178
+ requestOptions: options,
179
+ });
180
+ }
181
+ /**
182
+ * Get reference data needed for invoice creation (currencies, tax rates, etc.).
183
+ */
184
+ async getSetup(options) {
185
+ return this.http.request({
186
+ method: 'GET',
187
+ path: '/i/v1/invoices/setup',
188
+ requestOptions: options,
189
+ });
190
+ }
191
+ }
192
+ exports.InvoiceService = InvoiceService;
193
+ //# sourceMappingURL=invoices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../../src/services/invoices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import type { HttpClient } from '../client/http-client.js';
2
+ import type { ApiResponse, RequestOptions } from '../types/common.js';
3
+ import type { Seller, CreateSellerParams, UpdateSellerParams, ListSellersParams, TinVerificationResult, SearchResult } from '../types/party.js';
4
+ /**
5
+ * Service for managing sellers (your business entities that issue invoices).
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const client = new EInvoice({ apiKey: 'sk_test_...' });
10
+ *
11
+ * const seller = await client.sellers.create({
12
+ * partyName: 'Acme Corp',
13
+ * tin: '12345678-0001',
14
+ * sellerType: 'COMPANY',
15
+ * email: 'billing@acme.com',
16
+ * });
17
+ *
18
+ * // Verify TIN with tax authority
19
+ * await client.sellers.verifyTin(seller.data.id);
20
+ * ```
21
+ */
22
+ export declare class SellerService {
23
+ private readonly http;
24
+ /** @internal */
25
+ constructor(http: HttpClient);
26
+ /**
27
+ * Register a new seller.
28
+ */
29
+ create(params: CreateSellerParams, options?: RequestOptions): Promise<ApiResponse<Seller>>;
30
+ /**
31
+ * Get a seller by ID.
32
+ */
33
+ get(id: string, options?: RequestOptions): Promise<ApiResponse<Seller>>;
34
+ /**
35
+ * List sellers with optional filtering and pagination.
36
+ */
37
+ list(params?: ListSellersParams, options?: RequestOptions): Promise<ApiResponse<Seller[]>>;
38
+ /**
39
+ * Update seller details. Note: TIN cannot be changed after creation.
40
+ */
41
+ update(id: string, params: UpdateSellerParams, options?: RequestOptions): Promise<ApiResponse<Seller>>;
42
+ /**
43
+ * Delete a seller. Only sellers with no associated invoices can be deleted.
44
+ */
45
+ delete(id: string, options?: RequestOptions): Promise<ApiResponse<{
46
+ deleted: boolean;
47
+ }>>;
48
+ /**
49
+ * Trigger TIN verification with the tax authority.
50
+ */
51
+ verifyTin(id: string, options?: RequestOptions): Promise<ApiResponse<TinVerificationResult>>;
52
+ /**
53
+ * Check TIN verification status.
54
+ */
55
+ getVerificationStatus(id: string, options?: RequestOptions): Promise<ApiResponse<TinVerificationResult>>;
56
+ /**
57
+ * Search sellers by name or TIN.
58
+ */
59
+ search(query: string, options?: RequestOptions): Promise<ApiResponse<SearchResult>>;
60
+ }
61
+ //# sourceMappingURL=sellers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sellers.d.ts","sourceRoot":"","sources":["../../../src/services/sellers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAa;IAEZ,OAAO,CAAC,QAAQ,CAAC,IAAI;IADjC,gBAAgB;gBACa,IAAI,EAAE,UAAU;IAE7C;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAShG;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAQ7E;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAShG;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAS5G;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAQ9F;;OAEG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAQlG;;OAEG;IACG,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAQ9G;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;CAQ1F"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SellerService = void 0;
4
+ /**
5
+ * Service for managing sellers (your business entities that issue invoices).
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const client = new EInvoice({ apiKey: 'sk_test_...' });
10
+ *
11
+ * const seller = await client.sellers.create({
12
+ * partyName: 'Acme Corp',
13
+ * tin: '12345678-0001',
14
+ * sellerType: 'COMPANY',
15
+ * email: 'billing@acme.com',
16
+ * });
17
+ *
18
+ * // Verify TIN with tax authority
19
+ * await client.sellers.verifyTin(seller.data.id);
20
+ * ```
21
+ */
22
+ class SellerService {
23
+ http;
24
+ /** @internal */
25
+ constructor(http) {
26
+ this.http = http;
27
+ }
28
+ /**
29
+ * Register a new seller.
30
+ */
31
+ async create(params, options) {
32
+ return this.http.request({
33
+ method: 'POST',
34
+ path: '/i/v1/sellers',
35
+ body: params,
36
+ requestOptions: options,
37
+ });
38
+ }
39
+ /**
40
+ * Get a seller by ID.
41
+ */
42
+ async get(id, options) {
43
+ return this.http.request({
44
+ method: 'GET',
45
+ path: `/i/v1/sellers/${id}`,
46
+ requestOptions: options,
47
+ });
48
+ }
49
+ /**
50
+ * List sellers with optional filtering and pagination.
51
+ */
52
+ async list(params, options) {
53
+ return this.http.request({
54
+ method: 'GET',
55
+ path: '/i/v1/sellers',
56
+ query: params,
57
+ requestOptions: options,
58
+ });
59
+ }
60
+ /**
61
+ * Update seller details. Note: TIN cannot be changed after creation.
62
+ */
63
+ async update(id, params, options) {
64
+ return this.http.request({
65
+ method: 'PATCH',
66
+ path: `/i/v1/sellers/${id}`,
67
+ body: params,
68
+ requestOptions: options,
69
+ });
70
+ }
71
+ /**
72
+ * Delete a seller. Only sellers with no associated invoices can be deleted.
73
+ */
74
+ async delete(id, options) {
75
+ return this.http.request({
76
+ method: 'DELETE',
77
+ path: `/i/v1/sellers/${id}`,
78
+ requestOptions: options,
79
+ });
80
+ }
81
+ /**
82
+ * Trigger TIN verification with the tax authority.
83
+ */
84
+ async verifyTin(id, options) {
85
+ return this.http.request({
86
+ method: 'POST',
87
+ path: `/i/v1/sellers/${id}/verify-tax-number`,
88
+ requestOptions: options,
89
+ });
90
+ }
91
+ /**
92
+ * Check TIN verification status.
93
+ */
94
+ async getVerificationStatus(id, options) {
95
+ return this.http.request({
96
+ method: 'GET',
97
+ path: `/i/v1/sellers/${id}/verification-status`,
98
+ requestOptions: options,
99
+ });
100
+ }
101
+ /**
102
+ * Search sellers by name or TIN.
103
+ */
104
+ async search(query, options) {
105
+ return this.http.request({
106
+ method: 'GET',
107
+ path: '/i/v1/sellers/search',
108
+ query: { q: query },
109
+ requestOptions: options,
110
+ });
111
+ }
112
+ }
113
+ exports.SellerService = SellerService;
114
+ //# sourceMappingURL=sellers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sellers.js","sourceRoot":"","sources":["../../../src/services/sellers.ts"],"names":[],"mappings":";;;AAWA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,aAAa;IAEK;IAD7B,gBAAgB;IAChB,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAA0B,EAAE,OAAwB;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,OAAwB;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS;YAC/B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,iBAAiB,EAAE,EAAE;YAC3B,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,MAA0B,EAAE,OAAwB;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAW;YACjC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,MAAqD;YAC5D,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAA0B,EAAE,OAAwB;QAC3E,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS;YAC/B,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,iBAAiB,EAAE,EAAE;YAC3B,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAwB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuB;YAC7C,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,iBAAiB,EAAE,EAAE;YAC3B,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,EAAU,EAAE,OAAwB;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAwB;YAC9C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,iBAAiB,EAAE,oBAAoB;YAC7C,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,EAAU,EAAE,OAAwB;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAwB;YAC9C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,iBAAiB,EAAE,sBAAsB;YAC/C,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAAwB;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAe;YACrC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;YACnB,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;CACF;AA/FD,sCA+FC"}