@pronesoft-rd/ecf-sdk 0.0.1

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 (291) hide show
  1. package/.openapi-generator/FILES +96 -0
  2. package/.openapi-generator/VERSION +1 -0
  3. package/.openapi-generator-ignore +23 -0
  4. package/README.md +234 -0
  5. package/dist/apis/AssociatedCompaniesApi.d.ts +150 -0
  6. package/dist/apis/AssociatedCompaniesApi.js +229 -0
  7. package/dist/apis/AuthenticationApi.d.ts +64 -0
  8. package/dist/apis/AuthenticationApi.js +75 -0
  9. package/dist/apis/DigitalCertificatesApi.d.ts +70 -0
  10. package/dist/apis/DigitalCertificatesApi.js +113 -0
  11. package/dist/apis/ECFSubmissionApi.d.ts +70 -0
  12. package/dist/apis/ECFSubmissionApi.js +96 -0
  13. package/dist/apis/TaxSequencesApi.d.ts +152 -0
  14. package/dist/apis/TaxSequencesApi.js +214 -0
  15. package/dist/apis/WebhookConfigurationApi.d.ts +146 -0
  16. package/dist/apis/WebhookConfigurationApi.js +197 -0
  17. package/dist/apis/index.d.ts +6 -0
  18. package/dist/apis/index.js +24 -0
  19. package/dist/esm/apis/AssociatedCompaniesApi.d.ts +150 -0
  20. package/dist/esm/apis/AssociatedCompaniesApi.js +225 -0
  21. package/dist/esm/apis/AuthenticationApi.d.ts +64 -0
  22. package/dist/esm/apis/AuthenticationApi.js +71 -0
  23. package/dist/esm/apis/DigitalCertificatesApi.d.ts +70 -0
  24. package/dist/esm/apis/DigitalCertificatesApi.js +109 -0
  25. package/dist/esm/apis/ECFSubmissionApi.d.ts +70 -0
  26. package/dist/esm/apis/ECFSubmissionApi.js +92 -0
  27. package/dist/esm/apis/TaxSequencesApi.d.ts +152 -0
  28. package/dist/esm/apis/TaxSequencesApi.js +210 -0
  29. package/dist/esm/apis/WebhookConfigurationApi.d.ts +146 -0
  30. package/dist/esm/apis/WebhookConfigurationApi.js +193 -0
  31. package/dist/esm/apis/index.d.ts +6 -0
  32. package/dist/esm/apis/index.js +8 -0
  33. package/dist/esm/index.d.ts +3 -0
  34. package/dist/esm/index.js +5 -0
  35. package/dist/esm/models/AccountType.d.ts +30 -0
  36. package/dist/esm/models/AccountType.js +48 -0
  37. package/dist/esm/models/AdditionalInfo.d.ts +50 -0
  38. package/dist/esm/models/AdditionalInfo.js +47 -0
  39. package/dist/esm/models/AlternativeCurrency.d.ts +46 -0
  40. package/dist/esm/models/AlternativeCurrency.js +49 -0
  41. package/dist/esm/models/AssociatedCompany.d.ts +125 -0
  42. package/dist/esm/models/AssociatedCompany.js +77 -0
  43. package/dist/esm/models/AssociatedCompanySubscription.d.ts +45 -0
  44. package/dist/esm/models/AssociatedCompanySubscription.js +46 -0
  45. package/dist/esm/models/AssociatedCompanySubscriptionPlan.d.ts +38 -0
  46. package/dist/esm/models/AssociatedCompanySubscriptionPlan.js +43 -0
  47. package/dist/esm/models/BillingIndicator.d.ts +34 -0
  48. package/dist/esm/models/BillingIndicator.js +52 -0
  49. package/dist/esm/models/Buyer.d.ts +68 -0
  50. package/dist/esm/models/Buyer.js +55 -0
  51. package/dist/esm/models/CreateAssociatedCompany201Response.d.ts +39 -0
  52. package/dist/esm/models/CreateAssociatedCompany201Response.js +44 -0
  53. package/dist/esm/models/CreateTaxSequenceRequest.d.ts +47 -0
  54. package/dist/esm/models/CreateTaxSequenceRequest.js +52 -0
  55. package/dist/esm/models/CreateWebhookConfig.d.ts +53 -0
  56. package/dist/esm/models/CreateWebhookConfig.js +52 -0
  57. package/dist/esm/models/DiscountOrSurcharge.d.ts +93 -0
  58. package/dist/esm/models/DiscountOrSurcharge.js +78 -0
  59. package/dist/esm/models/EcfSubmissionResponse.d.ts +56 -0
  60. package/dist/esm/models/EcfSubmissionResponse.js +53 -0
  61. package/dist/esm/models/ElectronicDocument.d.ts +252 -0
  62. package/dist/esm/models/ElectronicDocument.js +143 -0
  63. package/dist/esm/models/Environment.d.ts +30 -0
  64. package/dist/esm/models/Environment.js +48 -0
  65. package/dist/esm/models/ErrorResponse.d.ts +44 -0
  66. package/dist/esm/models/ErrorResponse.js +45 -0
  67. package/dist/esm/models/GetNextNumber200Response.d.ts +39 -0
  68. package/dist/esm/models/GetNextNumber200Response.js +44 -0
  69. package/dist/esm/models/GetNextNumber200ResponseData.d.ts +38 -0
  70. package/dist/esm/models/GetNextNumber200ResponseData.js +43 -0
  71. package/dist/esm/models/InvoiceType.d.ts +44 -0
  72. package/dist/esm/models/InvoiceType.js +62 -0
  73. package/dist/esm/models/Item.d.ts +106 -0
  74. package/dist/esm/models/Item.js +83 -0
  75. package/dist/esm/models/ItemAdditionalTax.d.ts +38 -0
  76. package/dist/esm/models/ItemAdditionalTax.js +47 -0
  77. package/dist/esm/models/ListTaxSequences200Response.d.ts +39 -0
  78. package/dist/esm/models/ListTaxSequences200Response.js +44 -0
  79. package/dist/esm/models/OAuthTokenRequest.d.ts +43 -0
  80. package/dist/esm/models/OAuthTokenRequest.js +47 -0
  81. package/dist/esm/models/OAuthTokenResponse.d.ts +46 -0
  82. package/dist/esm/models/OAuthTokenResponse.js +45 -0
  83. package/dist/esm/models/Page.d.ts +116 -0
  84. package/dist/esm/models/Page.js +75 -0
  85. package/dist/esm/models/PaymentMethod.d.ts +40 -0
  86. package/dist/esm/models/PaymentMethod.js +58 -0
  87. package/dist/esm/models/PrintFormat.d.ts +30 -0
  88. package/dist/esm/models/PrintFormat.js +48 -0
  89. package/dist/esm/models/ReferenceInfo.d.ts +76 -0
  90. package/dist/esm/models/ReferenceInfo.js +63 -0
  91. package/dist/esm/models/Subquantity.d.ts +38 -0
  92. package/dist/esm/models/Subquantity.js +47 -0
  93. package/dist/esm/models/Subtotal.d.ts +110 -0
  94. package/dist/esm/models/Subtotal.js +71 -0
  95. package/dist/esm/models/TaxSequence.d.ts +45 -0
  96. package/dist/esm/models/TaxSequence.js +46 -0
  97. package/dist/esm/models/Totals.d.ts +173 -0
  98. package/dist/esm/models/Totals.js +90 -0
  99. package/dist/esm/models/Transport.d.ts +62 -0
  100. package/dist/esm/models/Transport.js +51 -0
  101. package/dist/esm/models/UploadCertificate201Response.d.ts +44 -0
  102. package/dist/esm/models/UploadCertificate201Response.js +45 -0
  103. package/dist/esm/models/UploadCertificateResponse.d.ts +44 -0
  104. package/dist/esm/models/UploadCertificateResponse.js +45 -0
  105. package/dist/esm/models/WebhookConfigResponse.d.ts +63 -0
  106. package/dist/esm/models/WebhookConfigResponse.js +52 -0
  107. package/dist/esm/models/WebhookEventType.d.ts +40 -0
  108. package/dist/esm/models/WebhookEventType.js +58 -0
  109. package/dist/esm/models/WebhookNotificationPayload.d.ts +59 -0
  110. package/dist/esm/models/WebhookNotificationPayload.js +60 -0
  111. package/dist/esm/models/index.d.ts +37 -0
  112. package/dist/esm/models/index.js +39 -0
  113. package/dist/esm/runtime.d.ts +184 -0
  114. package/dist/esm/runtime.js +349 -0
  115. package/dist/index.d.ts +3 -0
  116. package/dist/index.js +21 -0
  117. package/dist/models/AccountType.d.ts +30 -0
  118. package/dist/models/AccountType.js +56 -0
  119. package/dist/models/AdditionalInfo.d.ts +50 -0
  120. package/dist/models/AdditionalInfo.js +54 -0
  121. package/dist/models/AlternativeCurrency.d.ts +46 -0
  122. package/dist/models/AlternativeCurrency.js +56 -0
  123. package/dist/models/AssociatedCompany.d.ts +125 -0
  124. package/dist/models/AssociatedCompany.js +85 -0
  125. package/dist/models/AssociatedCompanySubscription.d.ts +45 -0
  126. package/dist/models/AssociatedCompanySubscription.js +53 -0
  127. package/dist/models/AssociatedCompanySubscriptionPlan.d.ts +38 -0
  128. package/dist/models/AssociatedCompanySubscriptionPlan.js +50 -0
  129. package/dist/models/BillingIndicator.d.ts +34 -0
  130. package/dist/models/BillingIndicator.js +60 -0
  131. package/dist/models/Buyer.d.ts +68 -0
  132. package/dist/models/Buyer.js +62 -0
  133. package/dist/models/CreateAssociatedCompany201Response.d.ts +39 -0
  134. package/dist/models/CreateAssociatedCompany201Response.js +51 -0
  135. package/dist/models/CreateTaxSequenceRequest.d.ts +47 -0
  136. package/dist/models/CreateTaxSequenceRequest.js +59 -0
  137. package/dist/models/CreateWebhookConfig.d.ts +53 -0
  138. package/dist/models/CreateWebhookConfig.js +59 -0
  139. package/dist/models/DiscountOrSurcharge.d.ts +93 -0
  140. package/dist/models/DiscountOrSurcharge.js +86 -0
  141. package/dist/models/EcfSubmissionResponse.d.ts +56 -0
  142. package/dist/models/EcfSubmissionResponse.js +60 -0
  143. package/dist/models/ElectronicDocument.d.ts +252 -0
  144. package/dist/models/ElectronicDocument.js +151 -0
  145. package/dist/models/Environment.d.ts +30 -0
  146. package/dist/models/Environment.js +56 -0
  147. package/dist/models/ErrorResponse.d.ts +44 -0
  148. package/dist/models/ErrorResponse.js +52 -0
  149. package/dist/models/GetNextNumber200Response.d.ts +39 -0
  150. package/dist/models/GetNextNumber200Response.js +51 -0
  151. package/dist/models/GetNextNumber200ResponseData.d.ts +38 -0
  152. package/dist/models/GetNextNumber200ResponseData.js +50 -0
  153. package/dist/models/InvoiceType.d.ts +44 -0
  154. package/dist/models/InvoiceType.js +70 -0
  155. package/dist/models/Item.d.ts +106 -0
  156. package/dist/models/Item.js +91 -0
  157. package/dist/models/ItemAdditionalTax.d.ts +38 -0
  158. package/dist/models/ItemAdditionalTax.js +54 -0
  159. package/dist/models/ListTaxSequences200Response.d.ts +39 -0
  160. package/dist/models/ListTaxSequences200Response.js +51 -0
  161. package/dist/models/OAuthTokenRequest.d.ts +43 -0
  162. package/dist/models/OAuthTokenRequest.js +54 -0
  163. package/dist/models/OAuthTokenResponse.d.ts +46 -0
  164. package/dist/models/OAuthTokenResponse.js +52 -0
  165. package/dist/models/Page.d.ts +116 -0
  166. package/dist/models/Page.js +82 -0
  167. package/dist/models/PaymentMethod.d.ts +40 -0
  168. package/dist/models/PaymentMethod.js +66 -0
  169. package/dist/models/PrintFormat.d.ts +30 -0
  170. package/dist/models/PrintFormat.js +56 -0
  171. package/dist/models/ReferenceInfo.d.ts +76 -0
  172. package/dist/models/ReferenceInfo.js +71 -0
  173. package/dist/models/Subquantity.d.ts +38 -0
  174. package/dist/models/Subquantity.js +54 -0
  175. package/dist/models/Subtotal.d.ts +110 -0
  176. package/dist/models/Subtotal.js +78 -0
  177. package/dist/models/TaxSequence.d.ts +45 -0
  178. package/dist/models/TaxSequence.js +53 -0
  179. package/dist/models/Totals.d.ts +173 -0
  180. package/dist/models/Totals.js +97 -0
  181. package/dist/models/Transport.d.ts +62 -0
  182. package/dist/models/Transport.js +58 -0
  183. package/dist/models/UploadCertificate201Response.d.ts +44 -0
  184. package/dist/models/UploadCertificate201Response.js +52 -0
  185. package/dist/models/UploadCertificateResponse.d.ts +44 -0
  186. package/dist/models/UploadCertificateResponse.js +52 -0
  187. package/dist/models/WebhookConfigResponse.d.ts +63 -0
  188. package/dist/models/WebhookConfigResponse.js +59 -0
  189. package/dist/models/WebhookEventType.d.ts +40 -0
  190. package/dist/models/WebhookEventType.js +66 -0
  191. package/dist/models/WebhookNotificationPayload.d.ts +59 -0
  192. package/dist/models/WebhookNotificationPayload.js +67 -0
  193. package/dist/models/index.d.ts +37 -0
  194. package/dist/models/index.js +55 -0
  195. package/dist/runtime.d.ts +184 -0
  196. package/dist/runtime.js +365 -0
  197. package/docs/AccountType.md +33 -0
  198. package/docs/AdditionalInfo.md +41 -0
  199. package/docs/AlternativeCurrency.md +39 -0
  200. package/docs/AssociatedCompaniesApi.md +207 -0
  201. package/docs/AssociatedCompany.md +63 -0
  202. package/docs/AssociatedCompanySubscription.md +38 -0
  203. package/docs/AssociatedCompanySubscriptionPlan.md +36 -0
  204. package/docs/AuthenticationApi.md +77 -0
  205. package/docs/BillingIndicator.md +33 -0
  206. package/docs/Buyer.md +47 -0
  207. package/docs/CreateAssociatedCompany201Response.md +36 -0
  208. package/docs/CreateTaxSequenceRequest.md +39 -0
  209. package/docs/CreateWebhookConfig.md +41 -0
  210. package/docs/DigitalCertificatesApi.md +90 -0
  211. package/docs/DiscountOrSurcharge.md +49 -0
  212. package/docs/ECFSubmissionApi.md +90 -0
  213. package/docs/EcfSubmissionResponse.md +43 -0
  214. package/docs/ElectronicDocument.md +87 -0
  215. package/docs/Environment.md +33 -0
  216. package/docs/ErrorResponse.md +39 -0
  217. package/docs/GetNextNumber200Response.md +36 -0
  218. package/docs/GetNextNumber200ResponseData.md +36 -0
  219. package/docs/InvoiceType.md +33 -0
  220. package/docs/Item.md +55 -0
  221. package/docs/ItemAdditionalTax.md +37 -0
  222. package/docs/ListTaxSequences200Response.md +36 -0
  223. package/docs/OAuthTokenRequest.md +37 -0
  224. package/docs/OAuthTokenResponse.md +39 -0
  225. package/docs/Page.md +63 -0
  226. package/docs/PaymentMethod.md +33 -0
  227. package/docs/PrintFormat.md +33 -0
  228. package/docs/ReferenceInfo.md +43 -0
  229. package/docs/Subquantity.md +37 -0
  230. package/docs/Subtotal.md +61 -0
  231. package/docs/TaxSequence.md +39 -0
  232. package/docs/TaxSequencesApi.md +246 -0
  233. package/docs/Totals.md +81 -0
  234. package/docs/Transport.md +45 -0
  235. package/docs/UploadCertificate201Response.md +38 -0
  236. package/docs/UploadCertificateResponse.md +39 -0
  237. package/docs/WebhookConfigResponse.md +45 -0
  238. package/docs/WebhookConfigurationApi.md +241 -0
  239. package/docs/WebhookEventType.md +33 -0
  240. package/docs/WebhookNotificationPayload.md +43 -0
  241. package/package.json +21 -0
  242. package/src/apis/AssociatedCompaniesApi.ts +415 -0
  243. package/src/apis/AuthenticationApi.ts +122 -0
  244. package/src/apis/DigitalCertificatesApi.ts +175 -0
  245. package/src/apis/ECFSubmissionApi.ts +163 -0
  246. package/src/apis/TaxSequencesApi.ts +374 -0
  247. package/src/apis/WebhookConfigurationApi.ts +332 -0
  248. package/src/apis/index.ts +8 -0
  249. package/src/index.ts +5 -0
  250. package/src/models/AccountType.ts +58 -0
  251. package/src/models/AdditionalInfo.ts +89 -0
  252. package/src/models/AlternativeCurrency.ts +85 -0
  253. package/src/models/AssociatedCompany.ts +196 -0
  254. package/src/models/AssociatedCompanySubscription.ts +89 -0
  255. package/src/models/AssociatedCompanySubscriptionPlan.ts +73 -0
  256. package/src/models/BillingIndicator.ts +62 -0
  257. package/src/models/Buyer.ts +114 -0
  258. package/src/models/CreateAssociatedCompany201Response.ts +81 -0
  259. package/src/models/CreateTaxSequenceRequest.ts +96 -0
  260. package/src/models/CreateWebhookConfig.ts +101 -0
  261. package/src/models/DiscountOrSurcharge.ts +155 -0
  262. package/src/models/EcfSubmissionResponse.ts +99 -0
  263. package/src/models/ElectronicDocument.ts +421 -0
  264. package/src/models/Environment.ts +58 -0
  265. package/src/models/ErrorResponse.ts +81 -0
  266. package/src/models/GetNextNumber200Response.ts +81 -0
  267. package/src/models/GetNextNumber200ResponseData.ts +73 -0
  268. package/src/models/InvoiceType.ts +72 -0
  269. package/src/models/Item.ts +187 -0
  270. package/src/models/ItemAdditionalTax.ts +75 -0
  271. package/src/models/ListTaxSequences200Response.ts +81 -0
  272. package/src/models/OAuthTokenRequest.ts +80 -0
  273. package/src/models/OAuthTokenResponse.ts +83 -0
  274. package/src/models/Page.ts +180 -0
  275. package/src/models/PaymentMethod.ts +68 -0
  276. package/src/models/PrintFormat.ts +58 -0
  277. package/src/models/ReferenceInfo.ts +122 -0
  278. package/src/models/Subquantity.ts +75 -0
  279. package/src/models/Subtotal.ts +171 -0
  280. package/src/models/TaxSequence.ts +91 -0
  281. package/src/models/Totals.ts +260 -0
  282. package/src/models/Transport.ts +105 -0
  283. package/src/models/UploadCertificate201Response.ts +81 -0
  284. package/src/models/UploadCertificateResponse.ts +81 -0
  285. package/src/models/WebhookConfigResponse.ts +113 -0
  286. package/src/models/WebhookEventType.ts +68 -0
  287. package/src/models/WebhookNotificationPayload.ts +114 -0
  288. package/src/models/index.ts +39 -0
  289. package/src/runtime.ts +450 -0
  290. package/tsconfig.esm.json +7 -0
  291. package/tsconfig.json +16 -0
@@ -0,0 +1,110 @@
1
+ /**
2
+ * eCF-Pronesoft Integration API
3
+ * ## Overview Production-grade API for issuing Electronic Tax Receipts (e-CF) in the Dominican Republic through the Pronesoft platform, which handles all communication with the DGII on your behalf. ## Authentication — OAuth 2.0 Client Credentials This API uses the **OAuth 2.0 Client Credentials** flow. There is no user login — authentication is machine-to-machine using a `clientId` and `clientSecret` issued by the Pronesoft portal. ### Step-by-step 1. **Get credentials**: - Sandbox: https://ecf.sandbox.pronesoft.com - Production: https://ecf.pronesoft.com 2. **Request a token** — call `POST /oauth/token` with your credentials. The server returns an `accessToken` valid for `expiresIn` seconds. 3. **Authorize requests** — include the token in every subsequent request: ``` Authorization: Bearer <accessToken> ``` 4. **Identify your tenant** — include your company/branch UUID in every protected request: ``` x-tenant-id: <your-tenant-uuid> ``` 5. **Refresh** — when the token expires, simply call `POST /oauth/token` again. ### Scopes | Category | Scope | Description | |---|---|---| | **Business** | `business:read` | Read company data | | | `business:create` | Create a new company | | | `business:update` | Update company data | | **Members** | `members:read` | View team members | | | `members:invite` | Invite new members | | | `members:revoke` | Revoke member access | | **Certificates** | `certificates:read` | View digital certificates | | | `certificates:upload` | Upload new certificates | | | `certificates:update` | Update existing certificates | | **Documents** | `documents:read` | List and view documents | | | `documents:create` | Create drafts or internal documents | | | `documents:send` | Submit e-CF to DGII | | | `documents:receive` | Receive e-CF from third parties | | | `documents:update` | Modify document metadata | | **Approvals** | `approvals:read` | View approval statuses | | | `approvals:commercial` | Perform commercial approvals/rejections | | **Sequences** | `sequences:read` | View NCF/e-NCF ranges | | | `sequences:create` | Request new sequences | | | `sequences:update` | Modify sequence configurations | | | `sequences:cancel` | Cancel unused sequences | | **Dashboard** | `business_info:read` | Access dashboard stats and metrics | | **Certification** | `certification:read` | View certification progress | | | `certification:write` | Run automated DGII certification tests | | **Reports** | `reports:read` | Generate and export reports (e.g. 606) | ## Environments | Environment | Portal | API Host | Purpose | |---|---|---|---| | Sandbox | https://ecf.sandbox.pronesoft.com | `api.ecf.sandbox.pronesoft.com` | Development & testing | | Production | https://ecf.pronesoft.com | `api.ecf.pronesoft.com` | Live e-CF issuance | ## Invoice Types (e-NCF) | Code | Name | |---|---| | `31` | Tax Credit Invoice (Factura de Crédito Fiscal) | | `32` | Consumer Invoice (Factura de Consumo) | | `33` | Debit Note (Nota de Débito) | | `34` | Credit Note (Nota de Crédito) | | `41` | Purchases (Compras) | | `43` | Minor Expenses (Gastos Menores) | | `44` | Special Regimes (Regímenes Especiales) | | `45` | Governmental (Gubernamentales) | | `46` | Exports (Exportaciones) | | `47` | Overseas Payments (Pagos al Exterior) |
4
+ *
5
+ * The version of the OpenAPI document: 0.0.1
6
+ * Contact: contacto@pronesoft.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Subtotal for a page or section within a multi-page document.
14
+ * @export
15
+ * @interface Subtotal
16
+ */
17
+ export interface Subtotal {
18
+ /**
19
+ * Page or section number.
20
+ * @type {number}
21
+ * @memberof Subtotal
22
+ */
23
+ number: number;
24
+ /**
25
+ * Subtotal amount for this section.
26
+ * @type {number}
27
+ * @memberof Subtotal
28
+ */
29
+ amount: number;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof Subtotal
34
+ */
35
+ description?: string;
36
+ /**
37
+ *
38
+ * @type {number}
39
+ * @memberof Subtotal
40
+ */
41
+ taxableAmount?: number;
42
+ /**
43
+ *
44
+ * @type {number}
45
+ * @memberof Subtotal
46
+ */
47
+ taxableAmount1?: number;
48
+ /**
49
+ *
50
+ * @type {number}
51
+ * @memberof Subtotal
52
+ */
53
+ taxableAmount2?: number;
54
+ /**
55
+ *
56
+ * @type {number}
57
+ * @memberof Subtotal
58
+ */
59
+ taxableAmount3?: number;
60
+ /**
61
+ *
62
+ * @type {number}
63
+ * @memberof Subtotal
64
+ */
65
+ totalITBIS?: number;
66
+ /**
67
+ *
68
+ * @type {number}
69
+ * @memberof Subtotal
70
+ */
71
+ itbis1?: number;
72
+ /**
73
+ *
74
+ * @type {number}
75
+ * @memberof Subtotal
76
+ */
77
+ itbis2?: number;
78
+ /**
79
+ *
80
+ * @type {number}
81
+ * @memberof Subtotal
82
+ */
83
+ itbis3?: number;
84
+ /**
85
+ *
86
+ * @type {number}
87
+ * @memberof Subtotal
88
+ */
89
+ additionalTaxes?: number;
90
+ /**
91
+ *
92
+ * @type {number}
93
+ * @memberof Subtotal
94
+ */
95
+ exemptAmount?: number;
96
+ /**
97
+ * Number of line items included in this subtotal.
98
+ * @type {number}
99
+ * @memberof Subtotal
100
+ */
101
+ lines?: number;
102
+ }
103
+ /**
104
+ * Check if a given object implements the Subtotal interface.
105
+ */
106
+ export declare function instanceOfSubtotal(value: object): value is Subtotal;
107
+ export declare function SubtotalFromJSON(json: any): Subtotal;
108
+ export declare function SubtotalFromJSONTyped(json: any, ignoreDiscriminator: boolean): Subtotal;
109
+ export declare function SubtotalToJSON(json: any): Subtotal;
110
+ export declare function SubtotalToJSONTyped(value?: Subtotal | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * eCF-Pronesoft Integration API
6
+ * ## Overview Production-grade API for issuing Electronic Tax Receipts (e-CF) in the Dominican Republic through the Pronesoft platform, which handles all communication with the DGII on your behalf. ## Authentication — OAuth 2.0 Client Credentials This API uses the **OAuth 2.0 Client Credentials** flow. There is no user login — authentication is machine-to-machine using a `clientId` and `clientSecret` issued by the Pronesoft portal. ### Step-by-step 1. **Get credentials**: - Sandbox: https://ecf.sandbox.pronesoft.com - Production: https://ecf.pronesoft.com 2. **Request a token** — call `POST /oauth/token` with your credentials. The server returns an `accessToken` valid for `expiresIn` seconds. 3. **Authorize requests** — include the token in every subsequent request: ``` Authorization: Bearer <accessToken> ``` 4. **Identify your tenant** — include your company/branch UUID in every protected request: ``` x-tenant-id: <your-tenant-uuid> ``` 5. **Refresh** — when the token expires, simply call `POST /oauth/token` again. ### Scopes | Category | Scope | Description | |---|---|---| | **Business** | `business:read` | Read company data | | | `business:create` | Create a new company | | | `business:update` | Update company data | | **Members** | `members:read` | View team members | | | `members:invite` | Invite new members | | | `members:revoke` | Revoke member access | | **Certificates** | `certificates:read` | View digital certificates | | | `certificates:upload` | Upload new certificates | | | `certificates:update` | Update existing certificates | | **Documents** | `documents:read` | List and view documents | | | `documents:create` | Create drafts or internal documents | | | `documents:send` | Submit e-CF to DGII | | | `documents:receive` | Receive e-CF from third parties | | | `documents:update` | Modify document metadata | | **Approvals** | `approvals:read` | View approval statuses | | | `approvals:commercial` | Perform commercial approvals/rejections | | **Sequences** | `sequences:read` | View NCF/e-NCF ranges | | | `sequences:create` | Request new sequences | | | `sequences:update` | Modify sequence configurations | | | `sequences:cancel` | Cancel unused sequences | | **Dashboard** | `business_info:read` | Access dashboard stats and metrics | | **Certification** | `certification:read` | View certification progress | | | `certification:write` | Run automated DGII certification tests | | **Reports** | `reports:read` | Generate and export reports (e.g. 606) | ## Environments | Environment | Portal | API Host | Purpose | |---|---|---|---| | Sandbox | https://ecf.sandbox.pronesoft.com | `api.ecf.sandbox.pronesoft.com` | Development & testing | | Production | https://ecf.pronesoft.com | `api.ecf.pronesoft.com` | Live e-CF issuance | ## Invoice Types (e-NCF) | Code | Name | |---|---| | `31` | Tax Credit Invoice (Factura de Crédito Fiscal) | | `32` | Consumer Invoice (Factura de Consumo) | | `33` | Debit Note (Nota de Débito) | | `34` | Credit Note (Nota de Crédito) | | `41` | Purchases (Compras) | | `43` | Minor Expenses (Gastos Menores) | | `44` | Special Regimes (Regímenes Especiales) | | `45` | Governmental (Gubernamentales) | | `46` | Exports (Exportaciones) | | `47` | Overseas Payments (Pagos al Exterior) |
7
+ *
8
+ * The version of the OpenAPI document: 0.0.1
9
+ * Contact: contacto@pronesoft.com
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfSubtotal = instanceOfSubtotal;
17
+ exports.SubtotalFromJSON = SubtotalFromJSON;
18
+ exports.SubtotalFromJSONTyped = SubtotalFromJSONTyped;
19
+ exports.SubtotalToJSON = SubtotalToJSON;
20
+ exports.SubtotalToJSONTyped = SubtotalToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the Subtotal interface.
23
+ */
24
+ function instanceOfSubtotal(value) {
25
+ if (!('number' in value) || value['number'] === undefined)
26
+ return false;
27
+ if (!('amount' in value) || value['amount'] === undefined)
28
+ return false;
29
+ return true;
30
+ }
31
+ function SubtotalFromJSON(json) {
32
+ return SubtotalFromJSONTyped(json, false);
33
+ }
34
+ function SubtotalFromJSONTyped(json, ignoreDiscriminator) {
35
+ if (json == null) {
36
+ return json;
37
+ }
38
+ return {
39
+ 'number': json['number'],
40
+ 'amount': json['amount'],
41
+ 'description': json['description'] == null ? undefined : json['description'],
42
+ 'taxableAmount': json['taxableAmount'] == null ? undefined : json['taxableAmount'],
43
+ 'taxableAmount1': json['taxableAmount1'] == null ? undefined : json['taxableAmount1'],
44
+ 'taxableAmount2': json['taxableAmount2'] == null ? undefined : json['taxableAmount2'],
45
+ 'taxableAmount3': json['taxableAmount3'] == null ? undefined : json['taxableAmount3'],
46
+ 'totalITBIS': json['totalITBIS'] == null ? undefined : json['totalITBIS'],
47
+ 'itbis1': json['itbis1'] == null ? undefined : json['itbis1'],
48
+ 'itbis2': json['itbis2'] == null ? undefined : json['itbis2'],
49
+ 'itbis3': json['itbis3'] == null ? undefined : json['itbis3'],
50
+ 'additionalTaxes': json['additionalTaxes'] == null ? undefined : json['additionalTaxes'],
51
+ 'exemptAmount': json['exemptAmount'] == null ? undefined : json['exemptAmount'],
52
+ 'lines': json['lines'] == null ? undefined : json['lines'],
53
+ };
54
+ }
55
+ function SubtotalToJSON(json) {
56
+ return SubtotalToJSONTyped(json, false);
57
+ }
58
+ function SubtotalToJSONTyped(value, ignoreDiscriminator = false) {
59
+ if (value == null) {
60
+ return value;
61
+ }
62
+ return {
63
+ 'number': value['number'],
64
+ 'amount': value['amount'],
65
+ 'description': value['description'],
66
+ 'taxableAmount': value['taxableAmount'],
67
+ 'taxableAmount1': value['taxableAmount1'],
68
+ 'taxableAmount2': value['taxableAmount2'],
69
+ 'taxableAmount3': value['taxableAmount3'],
70
+ 'totalITBIS': value['totalITBIS'],
71
+ 'itbis1': value['itbis1'],
72
+ 'itbis2': value['itbis2'],
73
+ 'itbis3': value['itbis3'],
74
+ 'additionalTaxes': value['additionalTaxes'],
75
+ 'exemptAmount': value['exemptAmount'],
76
+ 'lines': value['lines'],
77
+ };
78
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * eCF-Pronesoft Integration API
3
+ * ## Overview Production-grade API for issuing Electronic Tax Receipts (e-CF) in the Dominican Republic through the Pronesoft platform, which handles all communication with the DGII on your behalf. ## Authentication — OAuth 2.0 Client Credentials This API uses the **OAuth 2.0 Client Credentials** flow. There is no user login — authentication is machine-to-machine using a `clientId` and `clientSecret` issued by the Pronesoft portal. ### Step-by-step 1. **Get credentials**: - Sandbox: https://ecf.sandbox.pronesoft.com - Production: https://ecf.pronesoft.com 2. **Request a token** — call `POST /oauth/token` with your credentials. The server returns an `accessToken` valid for `expiresIn` seconds. 3. **Authorize requests** — include the token in every subsequent request: ``` Authorization: Bearer <accessToken> ``` 4. **Identify your tenant** — include your company/branch UUID in every protected request: ``` x-tenant-id: <your-tenant-uuid> ``` 5. **Refresh** — when the token expires, simply call `POST /oauth/token` again. ### Scopes | Category | Scope | Description | |---|---|---| | **Business** | `business:read` | Read company data | | | `business:create` | Create a new company | | | `business:update` | Update company data | | **Members** | `members:read` | View team members | | | `members:invite` | Invite new members | | | `members:revoke` | Revoke member access | | **Certificates** | `certificates:read` | View digital certificates | | | `certificates:upload` | Upload new certificates | | | `certificates:update` | Update existing certificates | | **Documents** | `documents:read` | List and view documents | | | `documents:create` | Create drafts or internal documents | | | `documents:send` | Submit e-CF to DGII | | | `documents:receive` | Receive e-CF from third parties | | | `documents:update` | Modify document metadata | | **Approvals** | `approvals:read` | View approval statuses | | | `approvals:commercial` | Perform commercial approvals/rejections | | **Sequences** | `sequences:read` | View NCF/e-NCF ranges | | | `sequences:create` | Request new sequences | | | `sequences:update` | Modify sequence configurations | | | `sequences:cancel` | Cancel unused sequences | | **Dashboard** | `business_info:read` | Access dashboard stats and metrics | | **Certification** | `certification:read` | View certification progress | | | `certification:write` | Run automated DGII certification tests | | **Reports** | `reports:read` | Generate and export reports (e.g. 606) | ## Environments | Environment | Portal | API Host | Purpose | |---|---|---|---| | Sandbox | https://ecf.sandbox.pronesoft.com | `api.ecf.sandbox.pronesoft.com` | Development & testing | | Production | https://ecf.pronesoft.com | `api.ecf.pronesoft.com` | Live e-CF issuance | ## Invoice Types (e-NCF) | Code | Name | |---|---| | `31` | Tax Credit Invoice (Factura de Crédito Fiscal) | | `32` | Consumer Invoice (Factura de Consumo) | | `33` | Debit Note (Nota de Débito) | | `34` | Credit Note (Nota de Crédito) | | `41` | Purchases (Compras) | | `43` | Minor Expenses (Gastos Menores) | | `44` | Special Regimes (Regímenes Especiales) | | `45` | Governmental (Gubernamentales) | | `46` | Exports (Exportaciones) | | `47` | Overseas Payments (Pagos al Exterior) |
4
+ *
5
+ * The version of the OpenAPI document: 0.0.1
6
+ * Contact: contacto@pronesoft.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { InvoiceType } from './InvoiceType';
13
+ /**
14
+ * A registered fiscal number sequence for a given invoice type.
15
+ * @export
16
+ * @interface TaxSequence
17
+ */
18
+ export interface TaxSequence {
19
+ /**
20
+ * Internal sequence identifier.
21
+ * @type {string}
22
+ * @memberof TaxSequence
23
+ */
24
+ id?: string;
25
+ /**
26
+ *
27
+ * @type {InvoiceType}
28
+ * @memberof TaxSequence
29
+ */
30
+ type?: InvoiceType;
31
+ /**
32
+ * Next available e-NCF number in this sequence.
33
+ * @type {string}
34
+ * @memberof TaxSequence
35
+ */
36
+ nextNumber?: string;
37
+ }
38
+ /**
39
+ * Check if a given object implements the TaxSequence interface.
40
+ */
41
+ export declare function instanceOfTaxSequence(value: object): value is TaxSequence;
42
+ export declare function TaxSequenceFromJSON(json: any): TaxSequence;
43
+ export declare function TaxSequenceFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaxSequence;
44
+ export declare function TaxSequenceToJSON(json: any): TaxSequence;
45
+ export declare function TaxSequenceToJSONTyped(value?: TaxSequence | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * eCF-Pronesoft Integration API
6
+ * ## Overview Production-grade API for issuing Electronic Tax Receipts (e-CF) in the Dominican Republic through the Pronesoft platform, which handles all communication with the DGII on your behalf. ## Authentication — OAuth 2.0 Client Credentials This API uses the **OAuth 2.0 Client Credentials** flow. There is no user login — authentication is machine-to-machine using a `clientId` and `clientSecret` issued by the Pronesoft portal. ### Step-by-step 1. **Get credentials**: - Sandbox: https://ecf.sandbox.pronesoft.com - Production: https://ecf.pronesoft.com 2. **Request a token** — call `POST /oauth/token` with your credentials. The server returns an `accessToken` valid for `expiresIn` seconds. 3. **Authorize requests** — include the token in every subsequent request: ``` Authorization: Bearer <accessToken> ``` 4. **Identify your tenant** — include your company/branch UUID in every protected request: ``` x-tenant-id: <your-tenant-uuid> ``` 5. **Refresh** — when the token expires, simply call `POST /oauth/token` again. ### Scopes | Category | Scope | Description | |---|---|---| | **Business** | `business:read` | Read company data | | | `business:create` | Create a new company | | | `business:update` | Update company data | | **Members** | `members:read` | View team members | | | `members:invite` | Invite new members | | | `members:revoke` | Revoke member access | | **Certificates** | `certificates:read` | View digital certificates | | | `certificates:upload` | Upload new certificates | | | `certificates:update` | Update existing certificates | | **Documents** | `documents:read` | List and view documents | | | `documents:create` | Create drafts or internal documents | | | `documents:send` | Submit e-CF to DGII | | | `documents:receive` | Receive e-CF from third parties | | | `documents:update` | Modify document metadata | | **Approvals** | `approvals:read` | View approval statuses | | | `approvals:commercial` | Perform commercial approvals/rejections | | **Sequences** | `sequences:read` | View NCF/e-NCF ranges | | | `sequences:create` | Request new sequences | | | `sequences:update` | Modify sequence configurations | | | `sequences:cancel` | Cancel unused sequences | | **Dashboard** | `business_info:read` | Access dashboard stats and metrics | | **Certification** | `certification:read` | View certification progress | | | `certification:write` | Run automated DGII certification tests | | **Reports** | `reports:read` | Generate and export reports (e.g. 606) | ## Environments | Environment | Portal | API Host | Purpose | |---|---|---|---| | Sandbox | https://ecf.sandbox.pronesoft.com | `api.ecf.sandbox.pronesoft.com` | Development & testing | | Production | https://ecf.pronesoft.com | `api.ecf.pronesoft.com` | Live e-CF issuance | ## Invoice Types (e-NCF) | Code | Name | |---|---| | `31` | Tax Credit Invoice (Factura de Crédito Fiscal) | | `32` | Consumer Invoice (Factura de Consumo) | | `33` | Debit Note (Nota de Débito) | | `34` | Credit Note (Nota de Crédito) | | `41` | Purchases (Compras) | | `43` | Minor Expenses (Gastos Menores) | | `44` | Special Regimes (Regímenes Especiales) | | `45` | Governmental (Gubernamentales) | | `46` | Exports (Exportaciones) | | `47` | Overseas Payments (Pagos al Exterior) |
7
+ *
8
+ * The version of the OpenAPI document: 0.0.1
9
+ * Contact: contacto@pronesoft.com
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfTaxSequence = instanceOfTaxSequence;
17
+ exports.TaxSequenceFromJSON = TaxSequenceFromJSON;
18
+ exports.TaxSequenceFromJSONTyped = TaxSequenceFromJSONTyped;
19
+ exports.TaxSequenceToJSON = TaxSequenceToJSON;
20
+ exports.TaxSequenceToJSONTyped = TaxSequenceToJSONTyped;
21
+ const InvoiceType_1 = require("./InvoiceType");
22
+ /**
23
+ * Check if a given object implements the TaxSequence interface.
24
+ */
25
+ function instanceOfTaxSequence(value) {
26
+ return true;
27
+ }
28
+ function TaxSequenceFromJSON(json) {
29
+ return TaxSequenceFromJSONTyped(json, false);
30
+ }
31
+ function TaxSequenceFromJSONTyped(json, ignoreDiscriminator) {
32
+ if (json == null) {
33
+ return json;
34
+ }
35
+ return {
36
+ 'id': json['id'] == null ? undefined : json['id'],
37
+ 'type': json['type'] == null ? undefined : (0, InvoiceType_1.InvoiceTypeFromJSON)(json['type']),
38
+ 'nextNumber': json['nextNumber'] == null ? undefined : json['nextNumber'],
39
+ };
40
+ }
41
+ function TaxSequenceToJSON(json) {
42
+ return TaxSequenceToJSONTyped(json, false);
43
+ }
44
+ function TaxSequenceToJSONTyped(value, ignoreDiscriminator = false) {
45
+ if (value == null) {
46
+ return value;
47
+ }
48
+ return {
49
+ 'id': value['id'],
50
+ 'type': (0, InvoiceType_1.InvoiceTypeToJSON)(value['type']),
51
+ 'nextNumber': value['nextNumber'],
52
+ };
53
+ }
@@ -0,0 +1,173 @@
1
+ /**
2
+ * eCF-Pronesoft Integration API
3
+ * ## Overview Production-grade API for issuing Electronic Tax Receipts (e-CF) in the Dominican Republic through the Pronesoft platform, which handles all communication with the DGII on your behalf. ## Authentication — OAuth 2.0 Client Credentials This API uses the **OAuth 2.0 Client Credentials** flow. There is no user login — authentication is machine-to-machine using a `clientId` and `clientSecret` issued by the Pronesoft portal. ### Step-by-step 1. **Get credentials**: - Sandbox: https://ecf.sandbox.pronesoft.com - Production: https://ecf.pronesoft.com 2. **Request a token** — call `POST /oauth/token` with your credentials. The server returns an `accessToken` valid for `expiresIn` seconds. 3. **Authorize requests** — include the token in every subsequent request: ``` Authorization: Bearer <accessToken> ``` 4. **Identify your tenant** — include your company/branch UUID in every protected request: ``` x-tenant-id: <your-tenant-uuid> ``` 5. **Refresh** — when the token expires, simply call `POST /oauth/token` again. ### Scopes | Category | Scope | Description | |---|---|---| | **Business** | `business:read` | Read company data | | | `business:create` | Create a new company | | | `business:update` | Update company data | | **Members** | `members:read` | View team members | | | `members:invite` | Invite new members | | | `members:revoke` | Revoke member access | | **Certificates** | `certificates:read` | View digital certificates | | | `certificates:upload` | Upload new certificates | | | `certificates:update` | Update existing certificates | | **Documents** | `documents:read` | List and view documents | | | `documents:create` | Create drafts or internal documents | | | `documents:send` | Submit e-CF to DGII | | | `documents:receive` | Receive e-CF from third parties | | | `documents:update` | Modify document metadata | | **Approvals** | `approvals:read` | View approval statuses | | | `approvals:commercial` | Perform commercial approvals/rejections | | **Sequences** | `sequences:read` | View NCF/e-NCF ranges | | | `sequences:create` | Request new sequences | | | `sequences:update` | Modify sequence configurations | | | `sequences:cancel` | Cancel unused sequences | | **Dashboard** | `business_info:read` | Access dashboard stats and metrics | | **Certification** | `certification:read` | View certification progress | | | `certification:write` | Run automated DGII certification tests | | **Reports** | `reports:read` | Generate and export reports (e.g. 606) | ## Environments | Environment | Portal | API Host | Purpose | |---|---|---|---| | Sandbox | https://ecf.sandbox.pronesoft.com | `api.ecf.sandbox.pronesoft.com` | Development & testing | | Production | https://ecf.pronesoft.com | `api.ecf.pronesoft.com` | Live e-CF issuance | ## Invoice Types (e-NCF) | Code | Name | |---|---| | `31` | Tax Credit Invoice (Factura de Crédito Fiscal) | | `32` | Consumer Invoice (Factura de Consumo) | | `33` | Debit Note (Nota de Débito) | | `34` | Credit Note (Nota de Crédito) | | `41` | Purchases (Compras) | | `43` | Minor Expenses (Gastos Menores) | | `44` | Special Regimes (Regímenes Especiales) | | `45` | Governmental (Gubernamentales) | | `46` | Exports (Exportaciones) | | `47` | Overseas Payments (Pagos al Exterior) |
4
+ *
5
+ * The version of the OpenAPI document: 0.0.1
6
+ * Contact: contacto@pronesoft.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { ItemAdditionalTax } from './ItemAdditionalTax';
13
+ /**
14
+ * Document totals. `totalAmount` is required.
15
+ * Provide ITBIS breakdowns by rate when applicable.
16
+ *
17
+ * @export
18
+ * @interface Totals
19
+ */
20
+ export interface Totals {
21
+ /**
22
+ * Total taxable base amount (all ITBIS rates combined).
23
+ * @type {number}
24
+ * @memberof Totals
25
+ */
26
+ taxableAmount?: number;
27
+ /**
28
+ * Taxable base for 18% ITBIS rate.
29
+ * @type {number}
30
+ * @memberof Totals
31
+ */
32
+ taxableAmount1?: number;
33
+ /**
34
+ * Taxable base for 16% ITBIS rate.
35
+ * @type {number}
36
+ * @memberof Totals
37
+ */
38
+ taxableAmount2?: number;
39
+ /**
40
+ * Taxable base for 0% ITBIS rate.
41
+ * @type {number}
42
+ * @memberof Totals
43
+ */
44
+ taxableAmount3?: number;
45
+ /**
46
+ * Total amount exempt from ITBIS.
47
+ * @type {number}
48
+ * @memberof Totals
49
+ */
50
+ exemptAmount?: number;
51
+ /**
52
+ * ITBIS rate 1 (typically 0.18).
53
+ * @type {number}
54
+ * @memberof Totals
55
+ */
56
+ itbisRate1?: number;
57
+ /**
58
+ * ITBIS rate 2 (typically 0.16).
59
+ * @type {number}
60
+ * @memberof Totals
61
+ */
62
+ itbisRate2?: number;
63
+ /**
64
+ * ITBIS rate 3 (typically 0.00).
65
+ * @type {number}
66
+ * @memberof Totals
67
+ */
68
+ itbisRate3?: number;
69
+ /**
70
+ * Total ITBIS tax (all rates combined).
71
+ * @type {number}
72
+ * @memberof Totals
73
+ */
74
+ totalITBIS?: number;
75
+ /**
76
+ * ITBIS amount at rate 1.
77
+ * @type {number}
78
+ * @memberof Totals
79
+ */
80
+ itbis1?: number;
81
+ /**
82
+ * ITBIS amount at rate 2.
83
+ * @type {number}
84
+ * @memberof Totals
85
+ */
86
+ itbis2?: number;
87
+ /**
88
+ * ITBIS amount at rate 3.
89
+ * @type {number}
90
+ * @memberof Totals
91
+ */
92
+ itbis3?: number;
93
+ /**
94
+ * Total of all additional taxes (ISC, IECS, etc.).
95
+ * @type {number}
96
+ * @memberof Totals
97
+ */
98
+ additionalTaxAmount?: number;
99
+ /**
100
+ * Breakdown of additional taxes at document level.
101
+ * @type {Array<ItemAdditionalTax>}
102
+ * @memberof Totals
103
+ */
104
+ additionalTaxes?: Array<ItemAdditionalTax>;
105
+ /**
106
+ * Grand total of the document (required).
107
+ * @type {number}
108
+ * @memberof Totals
109
+ */
110
+ totalAmount: number;
111
+ /**
112
+ * Amount not subject to billing.
113
+ * @type {number}
114
+ * @memberof Totals
115
+ */
116
+ nonBillableAmount?: number;
117
+ /**
118
+ * Amount for the current billing period.
119
+ * @type {number}
120
+ * @memberof Totals
121
+ */
122
+ periodAmount?: number;
123
+ /**
124
+ * Previous balance (for billing statements).
125
+ * @type {number}
126
+ * @memberof Totals
127
+ */
128
+ previousBalance?: number;
129
+ /**
130
+ * Advance payment amount already received.
131
+ * @type {number}
132
+ * @memberof Totals
133
+ */
134
+ advancePaymentAmount?: number;
135
+ /**
136
+ * Net amount due after advance payments and previous balance.
137
+ * @type {number}
138
+ * @memberof Totals
139
+ */
140
+ amountToPay?: number;
141
+ /**
142
+ * Total ITBIS withheld at source.
143
+ * @type {number}
144
+ * @memberof Totals
145
+ */
146
+ totalWithheldITBIS?: number;
147
+ /**
148
+ * Total income tax (ISR) withheld at source.
149
+ * @type {number}
150
+ * @memberof Totals
151
+ */
152
+ totalIncomeTaxWithholding?: number;
153
+ /**
154
+ * Total ITBIS perception collected.
155
+ * @type {number}
156
+ * @memberof Totals
157
+ */
158
+ totalITBISPerception?: number;
159
+ /**
160
+ * Total ISR perception collected.
161
+ * @type {number}
162
+ * @memberof Totals
163
+ */
164
+ totalISRPerception?: number;
165
+ }
166
+ /**
167
+ * Check if a given object implements the Totals interface.
168
+ */
169
+ export declare function instanceOfTotals(value: object): value is Totals;
170
+ export declare function TotalsFromJSON(json: any): Totals;
171
+ export declare function TotalsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Totals;
172
+ export declare function TotalsToJSON(json: any): Totals;
173
+ export declare function TotalsToJSONTyped(value?: Totals | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * eCF-Pronesoft Integration API
6
+ * ## Overview Production-grade API for issuing Electronic Tax Receipts (e-CF) in the Dominican Republic through the Pronesoft platform, which handles all communication with the DGII on your behalf. ## Authentication — OAuth 2.0 Client Credentials This API uses the **OAuth 2.0 Client Credentials** flow. There is no user login — authentication is machine-to-machine using a `clientId` and `clientSecret` issued by the Pronesoft portal. ### Step-by-step 1. **Get credentials**: - Sandbox: https://ecf.sandbox.pronesoft.com - Production: https://ecf.pronesoft.com 2. **Request a token** — call `POST /oauth/token` with your credentials. The server returns an `accessToken` valid for `expiresIn` seconds. 3. **Authorize requests** — include the token in every subsequent request: ``` Authorization: Bearer <accessToken> ``` 4. **Identify your tenant** — include your company/branch UUID in every protected request: ``` x-tenant-id: <your-tenant-uuid> ``` 5. **Refresh** — when the token expires, simply call `POST /oauth/token` again. ### Scopes | Category | Scope | Description | |---|---|---| | **Business** | `business:read` | Read company data | | | `business:create` | Create a new company | | | `business:update` | Update company data | | **Members** | `members:read` | View team members | | | `members:invite` | Invite new members | | | `members:revoke` | Revoke member access | | **Certificates** | `certificates:read` | View digital certificates | | | `certificates:upload` | Upload new certificates | | | `certificates:update` | Update existing certificates | | **Documents** | `documents:read` | List and view documents | | | `documents:create` | Create drafts or internal documents | | | `documents:send` | Submit e-CF to DGII | | | `documents:receive` | Receive e-CF from third parties | | | `documents:update` | Modify document metadata | | **Approvals** | `approvals:read` | View approval statuses | | | `approvals:commercial` | Perform commercial approvals/rejections | | **Sequences** | `sequences:read` | View NCF/e-NCF ranges | | | `sequences:create` | Request new sequences | | | `sequences:update` | Modify sequence configurations | | | `sequences:cancel` | Cancel unused sequences | | **Dashboard** | `business_info:read` | Access dashboard stats and metrics | | **Certification** | `certification:read` | View certification progress | | | `certification:write` | Run automated DGII certification tests | | **Reports** | `reports:read` | Generate and export reports (e.g. 606) | ## Environments | Environment | Portal | API Host | Purpose | |---|---|---|---| | Sandbox | https://ecf.sandbox.pronesoft.com | `api.ecf.sandbox.pronesoft.com` | Development & testing | | Production | https://ecf.pronesoft.com | `api.ecf.pronesoft.com` | Live e-CF issuance | ## Invoice Types (e-NCF) | Code | Name | |---|---| | `31` | Tax Credit Invoice (Factura de Crédito Fiscal) | | `32` | Consumer Invoice (Factura de Consumo) | | `33` | Debit Note (Nota de Débito) | | `34` | Credit Note (Nota de Crédito) | | `41` | Purchases (Compras) | | `43` | Minor Expenses (Gastos Menores) | | `44` | Special Regimes (Regímenes Especiales) | | `45` | Governmental (Gubernamentales) | | `46` | Exports (Exportaciones) | | `47` | Overseas Payments (Pagos al Exterior) |
7
+ *
8
+ * The version of the OpenAPI document: 0.0.1
9
+ * Contact: contacto@pronesoft.com
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfTotals = instanceOfTotals;
17
+ exports.TotalsFromJSON = TotalsFromJSON;
18
+ exports.TotalsFromJSONTyped = TotalsFromJSONTyped;
19
+ exports.TotalsToJSON = TotalsToJSON;
20
+ exports.TotalsToJSONTyped = TotalsToJSONTyped;
21
+ const ItemAdditionalTax_1 = require("./ItemAdditionalTax");
22
+ /**
23
+ * Check if a given object implements the Totals interface.
24
+ */
25
+ function instanceOfTotals(value) {
26
+ if (!('totalAmount' in value) || value['totalAmount'] === undefined)
27
+ return false;
28
+ return true;
29
+ }
30
+ function TotalsFromJSON(json) {
31
+ return TotalsFromJSONTyped(json, false);
32
+ }
33
+ function TotalsFromJSONTyped(json, ignoreDiscriminator) {
34
+ if (json == null) {
35
+ return json;
36
+ }
37
+ return {
38
+ 'taxableAmount': json['taxableAmount'] == null ? undefined : json['taxableAmount'],
39
+ 'taxableAmount1': json['taxableAmount1'] == null ? undefined : json['taxableAmount1'],
40
+ 'taxableAmount2': json['taxableAmount2'] == null ? undefined : json['taxableAmount2'],
41
+ 'taxableAmount3': json['taxableAmount3'] == null ? undefined : json['taxableAmount3'],
42
+ 'exemptAmount': json['exemptAmount'] == null ? undefined : json['exemptAmount'],
43
+ 'itbisRate1': json['itbisRate1'] == null ? undefined : json['itbisRate1'],
44
+ 'itbisRate2': json['itbisRate2'] == null ? undefined : json['itbisRate2'],
45
+ 'itbisRate3': json['itbisRate3'] == null ? undefined : json['itbisRate3'],
46
+ 'totalITBIS': json['totalITBIS'] == null ? undefined : json['totalITBIS'],
47
+ 'itbis1': json['itbis1'] == null ? undefined : json['itbis1'],
48
+ 'itbis2': json['itbis2'] == null ? undefined : json['itbis2'],
49
+ 'itbis3': json['itbis3'] == null ? undefined : json['itbis3'],
50
+ 'additionalTaxAmount': json['additionalTaxAmount'] == null ? undefined : json['additionalTaxAmount'],
51
+ 'additionalTaxes': json['additionalTaxes'] == null ? undefined : (json['additionalTaxes'].map(ItemAdditionalTax_1.ItemAdditionalTaxFromJSON)),
52
+ 'totalAmount': json['totalAmount'],
53
+ 'nonBillableAmount': json['nonBillableAmount'] == null ? undefined : json['nonBillableAmount'],
54
+ 'periodAmount': json['periodAmount'] == null ? undefined : json['periodAmount'],
55
+ 'previousBalance': json['previousBalance'] == null ? undefined : json['previousBalance'],
56
+ 'advancePaymentAmount': json['advancePaymentAmount'] == null ? undefined : json['advancePaymentAmount'],
57
+ 'amountToPay': json['amountToPay'] == null ? undefined : json['amountToPay'],
58
+ 'totalWithheldITBIS': json['totalWithheldITBIS'] == null ? undefined : json['totalWithheldITBIS'],
59
+ 'totalIncomeTaxWithholding': json['totalIncomeTaxWithholding'] == null ? undefined : json['totalIncomeTaxWithholding'],
60
+ 'totalITBISPerception': json['totalITBISPerception'] == null ? undefined : json['totalITBISPerception'],
61
+ 'totalISRPerception': json['totalISRPerception'] == null ? undefined : json['totalISRPerception'],
62
+ };
63
+ }
64
+ function TotalsToJSON(json) {
65
+ return TotalsToJSONTyped(json, false);
66
+ }
67
+ function TotalsToJSONTyped(value, ignoreDiscriminator = false) {
68
+ if (value == null) {
69
+ return value;
70
+ }
71
+ return {
72
+ 'taxableAmount': value['taxableAmount'],
73
+ 'taxableAmount1': value['taxableAmount1'],
74
+ 'taxableAmount2': value['taxableAmount2'],
75
+ 'taxableAmount3': value['taxableAmount3'],
76
+ 'exemptAmount': value['exemptAmount'],
77
+ 'itbisRate1': value['itbisRate1'],
78
+ 'itbisRate2': value['itbisRate2'],
79
+ 'itbisRate3': value['itbisRate3'],
80
+ 'totalITBIS': value['totalITBIS'],
81
+ 'itbis1': value['itbis1'],
82
+ 'itbis2': value['itbis2'],
83
+ 'itbis3': value['itbis3'],
84
+ 'additionalTaxAmount': value['additionalTaxAmount'],
85
+ 'additionalTaxes': value['additionalTaxes'] == null ? undefined : (value['additionalTaxes'].map(ItemAdditionalTax_1.ItemAdditionalTaxToJSON)),
86
+ 'totalAmount': value['totalAmount'],
87
+ 'nonBillableAmount': value['nonBillableAmount'],
88
+ 'periodAmount': value['periodAmount'],
89
+ 'previousBalance': value['previousBalance'],
90
+ 'advancePaymentAmount': value['advancePaymentAmount'],
91
+ 'amountToPay': value['amountToPay'],
92
+ 'totalWithheldITBIS': value['totalWithheldITBIS'],
93
+ 'totalIncomeTaxWithholding': value['totalIncomeTaxWithholding'],
94
+ 'totalITBISPerception': value['totalITBISPerception'],
95
+ 'totalISRPerception': value['totalISRPerception'],
96
+ };
97
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * eCF-Pronesoft Integration API
3
+ * ## Overview Production-grade API for issuing Electronic Tax Receipts (e-CF) in the Dominican Republic through the Pronesoft platform, which handles all communication with the DGII on your behalf. ## Authentication — OAuth 2.0 Client Credentials This API uses the **OAuth 2.0 Client Credentials** flow. There is no user login — authentication is machine-to-machine using a `clientId` and `clientSecret` issued by the Pronesoft portal. ### Step-by-step 1. **Get credentials**: - Sandbox: https://ecf.sandbox.pronesoft.com - Production: https://ecf.pronesoft.com 2. **Request a token** — call `POST /oauth/token` with your credentials. The server returns an `accessToken` valid for `expiresIn` seconds. 3. **Authorize requests** — include the token in every subsequent request: ``` Authorization: Bearer <accessToken> ``` 4. **Identify your tenant** — include your company/branch UUID in every protected request: ``` x-tenant-id: <your-tenant-uuid> ``` 5. **Refresh** — when the token expires, simply call `POST /oauth/token` again. ### Scopes | Category | Scope | Description | |---|---|---| | **Business** | `business:read` | Read company data | | | `business:create` | Create a new company | | | `business:update` | Update company data | | **Members** | `members:read` | View team members | | | `members:invite` | Invite new members | | | `members:revoke` | Revoke member access | | **Certificates** | `certificates:read` | View digital certificates | | | `certificates:upload` | Upload new certificates | | | `certificates:update` | Update existing certificates | | **Documents** | `documents:read` | List and view documents | | | `documents:create` | Create drafts or internal documents | | | `documents:send` | Submit e-CF to DGII | | | `documents:receive` | Receive e-CF from third parties | | | `documents:update` | Modify document metadata | | **Approvals** | `approvals:read` | View approval statuses | | | `approvals:commercial` | Perform commercial approvals/rejections | | **Sequences** | `sequences:read` | View NCF/e-NCF ranges | | | `sequences:create` | Request new sequences | | | `sequences:update` | Modify sequence configurations | | | `sequences:cancel` | Cancel unused sequences | | **Dashboard** | `business_info:read` | Access dashboard stats and metrics | | **Certification** | `certification:read` | View certification progress | | | `certification:write` | Run automated DGII certification tests | | **Reports** | `reports:read` | Generate and export reports (e.g. 606) | ## Environments | Environment | Portal | API Host | Purpose | |---|---|---|---| | Sandbox | https://ecf.sandbox.pronesoft.com | `api.ecf.sandbox.pronesoft.com` | Development & testing | | Production | https://ecf.pronesoft.com | `api.ecf.pronesoft.com` | Live e-CF issuance | ## Invoice Types (e-NCF) | Code | Name | |---|---| | `31` | Tax Credit Invoice (Factura de Crédito Fiscal) | | `32` | Consumer Invoice (Factura de Consumo) | | `33` | Debit Note (Nota de Débito) | | `34` | Credit Note (Nota de Crédito) | | `41` | Purchases (Compras) | | `43` | Minor Expenses (Gastos Menores) | | `44` | Special Regimes (Regímenes Especiales) | | `45` | Governmental (Gubernamentales) | | `46` | Exports (Exportaciones) | | `47` | Overseas Payments (Pagos al Exterior) |
4
+ *
5
+ * The version of the OpenAPI document: 0.0.1
6
+ * Contact: contacto@pronesoft.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Transport/delivery information (required for certain invoice types).
14
+ * @export
15
+ * @interface Transport
16
+ */
17
+ export interface Transport {
18
+ /**
19
+ * Driver's full name.
20
+ * @type {string}
21
+ * @memberof Transport
22
+ */
23
+ driver?: string;
24
+ /**
25
+ * Vehicle identification number.
26
+ * @type {string}
27
+ * @memberof Transport
28
+ */
29
+ vehicleId?: string;
30
+ /**
31
+ * Vehicle license plate.
32
+ * @type {string}
33
+ * @memberof Transport
34
+ */
35
+ licensePlate?: string;
36
+ /**
37
+ * Delivery route description.
38
+ * @type {string}
39
+ * @memberof Transport
40
+ */
41
+ route?: string;
42
+ /**
43
+ * Departure date and time.
44
+ * @type {Date}
45
+ * @memberof Transport
46
+ */
47
+ departureDate?: Date;
48
+ /**
49
+ * Estimated arrival date and time.
50
+ * @type {Date}
51
+ * @memberof Transport
52
+ */
53
+ arrivalDate?: Date;
54
+ }
55
+ /**
56
+ * Check if a given object implements the Transport interface.
57
+ */
58
+ export declare function instanceOfTransport(value: object): value is Transport;
59
+ export declare function TransportFromJSON(json: any): Transport;
60
+ export declare function TransportFromJSONTyped(json: any, ignoreDiscriminator: boolean): Transport;
61
+ export declare function TransportToJSON(json: any): Transport;
62
+ export declare function TransportToJSONTyped(value?: Transport | null, ignoreDiscriminator?: boolean): any;