@spaceinvoices/react-ui 0.4.1 → 0.4.3

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 (245) hide show
  1. package/cli/dist/index.js +1 -1
  2. package/package.json +1 -1
  3. package/registry.json +25 -0
  4. package/src/components/advance-invoices/advance-invoices.hooks.ts +32 -2
  5. package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +109 -4
  6. package/src/components/advance-invoices/create/locales/de.ts +2 -0
  7. package/src/components/advance-invoices/create/locales/es.ts +2 -0
  8. package/src/components/advance-invoices/create/locales/fr.ts +2 -0
  9. package/src/components/advance-invoices/create/locales/hr.ts +2 -0
  10. package/src/components/advance-invoices/create/locales/it.ts +2 -0
  11. package/src/components/advance-invoices/create/locales/nl.ts +2 -0
  12. package/src/components/advance-invoices/create/locales/pl.ts +2 -0
  13. package/src/components/advance-invoices/create/locales/pt.ts +2 -0
  14. package/src/components/advance-invoices/create/locales/sl.ts +2 -0
  15. package/src/components/advance-invoices/create/prepare-advance-invoice-submission.ts +17 -0
  16. package/src/components/advance-invoices/list/list-row-actions.tsx +3 -6
  17. package/src/components/advance-invoices/list/list-table.tsx +105 -2
  18. package/src/components/advance-invoices/list/locales/de.ts +4 -0
  19. package/src/components/advance-invoices/list/locales/en.ts +4 -0
  20. package/src/components/advance-invoices/list/locales/es.ts +4 -0
  21. package/src/components/advance-invoices/list/locales/fr.ts +4 -0
  22. package/src/components/advance-invoices/list/locales/hr.ts +4 -0
  23. package/src/components/advance-invoices/list/locales/it.ts +4 -0
  24. package/src/components/advance-invoices/list/locales/nl.ts +4 -0
  25. package/src/components/advance-invoices/list/locales/pl.ts +4 -0
  26. package/src/components/advance-invoices/list/locales/pt.ts +4 -0
  27. package/src/components/advance-invoices/list/locales/sl.ts +4 -0
  28. package/src/components/credit-notes/create/create-credit-note-form.tsx +177 -6
  29. package/src/components/credit-notes/create/locales/de.ts +8 -0
  30. package/src/components/credit-notes/create/locales/es.ts +8 -0
  31. package/src/components/credit-notes/create/locales/fr.ts +7 -0
  32. package/src/components/credit-notes/create/locales/hr.ts +7 -0
  33. package/src/components/credit-notes/create/locales/it.ts +9 -0
  34. package/src/components/credit-notes/create/locales/nl.ts +7 -0
  35. package/src/components/credit-notes/create/locales/pl.ts +7 -0
  36. package/src/components/credit-notes/create/locales/pt.ts +7 -0
  37. package/src/components/credit-notes/create/locales/sl.ts +7 -0
  38. package/src/components/credit-notes/credit-notes.hooks.ts +30 -0
  39. package/src/components/credit-notes/list/list-row-actions.tsx +3 -6
  40. package/src/components/credit-notes/list/list-table.tsx +79 -8
  41. package/src/components/credit-notes/list/locales/de.ts +4 -1
  42. package/src/components/credit-notes/list/locales/en.ts +5 -0
  43. package/src/components/credit-notes/list/locales/es.ts +4 -1
  44. package/src/components/credit-notes/list/locales/fr.ts +4 -1
  45. package/src/components/credit-notes/list/locales/hr.ts +4 -1
  46. package/src/components/credit-notes/list/locales/it.ts +4 -1
  47. package/src/components/credit-notes/list/locales/nl.ts +4 -1
  48. package/src/components/credit-notes/list/locales/pl.ts +4 -1
  49. package/src/components/credit-notes/list/locales/pt.ts +4 -1
  50. package/src/components/credit-notes/list/locales/sl.ts +4 -1
  51. package/src/components/customers/create-customer-form/create-customer-form.tsx +0 -1
  52. package/src/components/dashboard/collection-rate-card/use-collection-rate.ts +2 -2
  53. package/src/components/dashboard/invoice-status-chart/use-invoice-status.ts +3 -3
  54. package/src/components/dashboard/payment-methods-chart/use-payment-methods.ts +1 -1
  55. package/src/components/dashboard/payment-trend-chart/use-payment-trend.ts +1 -1
  56. package/src/components/dashboard/revenue-trend-chart/use-revenue-trend.ts +1 -1
  57. package/src/components/dashboard/shared/use-revenue-data.ts +4 -4
  58. package/src/components/dashboard/shared/use-stats-counts.ts +4 -4
  59. package/src/components/dashboard/shared/use-stats-query.ts +1 -1
  60. package/src/components/dashboard/tax-collected-card/use-tax-collected.ts +2 -2
  61. package/src/components/dashboard/top-customers-chart/use-top-customers.ts +1 -1
  62. package/src/components/delivery-notes/create/create-delivery-note-form.tsx +332 -0
  63. package/src/components/delivery-notes/create/locales/de.ts +50 -0
  64. package/src/components/delivery-notes/create/locales/es.ts +49 -0
  65. package/src/components/delivery-notes/create/locales/fr.ts +50 -0
  66. package/src/components/delivery-notes/create/locales/hr.ts +49 -0
  67. package/src/components/delivery-notes/create/locales/it.ts +49 -0
  68. package/src/components/delivery-notes/create/locales/nl.ts +50 -0
  69. package/src/components/delivery-notes/create/locales/pl.ts +49 -0
  70. package/src/components/delivery-notes/create/locales/pt.ts +50 -0
  71. package/src/components/delivery-notes/create/locales/sl.ts +49 -0
  72. package/src/components/delivery-notes/create/prepare-delivery-note-submission.ts +38 -0
  73. package/src/components/delivery-notes/create/use-delivery-note-customer-form.ts +1 -0
  74. package/src/components/delivery-notes/delivery-notes.hooks.ts +15 -0
  75. package/src/components/delivery-notes/list/index.ts +3 -0
  76. package/src/components/delivery-notes/list/list-row-actions.tsx +103 -0
  77. package/src/components/delivery-notes/list/list-table.tsx +214 -0
  78. package/src/components/delivery-notes/list/locales/de.ts +9 -0
  79. package/src/components/delivery-notes/list/locales/en.ts +11 -0
  80. package/src/components/delivery-notes/list/locales/es.ts +9 -0
  81. package/src/components/delivery-notes/list/locales/fr.ts +9 -0
  82. package/src/components/delivery-notes/list/locales/hr.ts +9 -0
  83. package/src/components/delivery-notes/list/locales/it.ts +9 -0
  84. package/src/components/delivery-notes/list/locales/nl.ts +9 -0
  85. package/src/components/delivery-notes/list/locales/pl.ts +9 -0
  86. package/src/components/delivery-notes/list/locales/pt.ts +9 -0
  87. package/src/components/delivery-notes/list/locales/sl.ts +9 -0
  88. package/src/components/delivery-notes/list/use-delivery-note-download.ts +63 -0
  89. package/src/components/documents/create/document-details-section.tsx +103 -33
  90. package/src/components/documents/create/live-preview.tsx +37 -10
  91. package/src/components/documents/create/mark-as-paid-section.tsx +11 -2
  92. package/src/components/documents/create/prepare-document-submission.ts +1 -1
  93. package/src/components/documents/documents.hooks.ts +2 -1
  94. package/src/components/documents/shared/document-preview-display.tsx +12 -5
  95. package/src/components/documents/types.ts +10 -1
  96. package/src/components/documents/view/document-actions-bar.tsx +30 -0
  97. package/src/components/documents/view/document-details-card.tsx +3 -3
  98. package/src/components/documents/view/document-payments-list.tsx +3 -3
  99. package/src/components/documents/view/document-relations-list.tsx +105 -0
  100. package/src/components/documents/view/locales/de.ts +26 -0
  101. package/src/components/documents/view/locales/es.ts +26 -0
  102. package/src/components/documents/view/locales/fr.ts +26 -0
  103. package/src/components/documents/view/locales/hr.ts +26 -0
  104. package/src/components/documents/view/locales/it.ts +26 -0
  105. package/src/components/documents/view/locales/nl.ts +26 -0
  106. package/src/components/documents/view/locales/pl.ts +26 -0
  107. package/src/components/documents/view/locales/pt.ts +26 -0
  108. package/src/components/documents/view/locales/sl.ts +26 -0
  109. package/src/components/documents/view/use-document-download.ts +5 -3
  110. package/src/components/entities/create-entity-form.tsx +1 -1
  111. package/src/components/entities/entity-settings-form/entity-settings-form.tsx +2 -3
  112. package/src/components/entities/entity-settings-form/locales/es.ts +2 -0
  113. package/src/components/entities/entity-settings-form/locales/fr.ts +2 -0
  114. package/src/components/entities/entity-settings-form/locales/hr.ts +2 -0
  115. package/src/components/entities/entity-settings-form/locales/it.ts +2 -0
  116. package/src/components/entities/entity-settings-form/locales/nl.ts +2 -0
  117. package/src/components/entities/entity-settings-form/locales/pl.ts +2 -0
  118. package/src/components/entities/entity-settings-form/locales/pt.ts +2 -0
  119. package/src/components/entities/fina-settings-form/fina-operator-required-dialog.tsx +109 -0
  120. package/src/components/entities/fina-settings-form/fina-settings-form.tsx +377 -35
  121. package/src/components/entities/fina-settings-form/fina-settings.hooks.ts +106 -20
  122. package/src/components/entities/fina-settings-form/index.ts +1 -0
  123. package/src/components/entities/fina-settings-form/locales/de.ts +54 -34
  124. package/src/components/entities/fina-settings-form/locales/en.ts +51 -34
  125. package/src/components/entities/fina-settings-form/locales/es.ts +50 -34
  126. package/src/components/entities/fina-settings-form/locales/fr.ts +50 -34
  127. package/src/components/entities/fina-settings-form/locales/hr.ts +50 -34
  128. package/src/components/entities/fina-settings-form/locales/it.ts +50 -34
  129. package/src/components/entities/fina-settings-form/locales/nl.ts +50 -34
  130. package/src/components/entities/fina-settings-form/locales/pl.ts +50 -34
  131. package/src/components/entities/fina-settings-form/locales/pt.ts +50 -34
  132. package/src/components/entities/fina-settings-form/locales/sl.ts +50 -34
  133. package/src/components/entities/fina-settings-form/sections/certificate-settings-section.tsx +18 -0
  134. package/src/components/entities/fina-settings-form/sections/premises-management-section.tsx +64 -89
  135. package/src/components/entities/fina-settings-form/sections/register-premise-dialog.tsx +51 -323
  136. package/src/components/entities/furs-settings-form/furs-operator-required-dialog.tsx +106 -0
  137. package/src/components/entities/furs-settings-form/furs-settings-form.tsx +33 -10
  138. package/src/components/entities/furs-settings-form/furs-settings.hooks.ts +12 -11
  139. package/src/components/entities/furs-settings-form/index.ts +1 -0
  140. package/src/components/entities/furs-settings-form/locales/de.ts +27 -3
  141. package/src/components/entities/furs-settings-form/locales/en.ts +17 -3
  142. package/src/components/entities/furs-settings-form/locales/es.ts +26 -3
  143. package/src/components/entities/furs-settings-form/locales/fr.ts +26 -3
  144. package/src/components/entities/furs-settings-form/locales/hr.ts +26 -3
  145. package/src/components/entities/furs-settings-form/locales/it.ts +26 -3
  146. package/src/components/entities/furs-settings-form/locales/nl.ts +26 -3
  147. package/src/components/entities/furs-settings-form/locales/pl.ts +26 -3
  148. package/src/components/entities/furs-settings-form/locales/pt.ts +26 -3
  149. package/src/components/entities/furs-settings-form/locales/sl.ts +16 -3
  150. package/src/components/entities/furs-settings-form/sections/certificate-settings-section.tsx +22 -0
  151. package/src/components/entities/furs-settings-form/sections/general-settings-section.tsx +26 -5
  152. package/src/components/entities/furs-settings-form/sections/register-premise-dialog.tsx +14 -2
  153. package/src/components/entities/settings/tax-rules-settings-form.tsx +4 -4
  154. package/src/components/estimates/list/list-row-actions.tsx +3 -7
  155. package/src/components/estimates/list/list-table.tsx +35 -2
  156. package/src/components/estimates/list/locales/de.ts +3 -0
  157. package/src/components/estimates/list/locales/en.ts +3 -0
  158. package/src/components/estimates/list/locales/es.ts +3 -0
  159. package/src/components/estimates/list/locales/fr.ts +3 -0
  160. package/src/components/estimates/list/locales/hr.ts +3 -0
  161. package/src/components/estimates/list/locales/it.ts +3 -0
  162. package/src/components/estimates/list/locales/nl.ts +3 -0
  163. package/src/components/estimates/list/locales/pl.ts +3 -0
  164. package/src/components/estimates/list/locales/pt.ts +3 -0
  165. package/src/components/estimates/list/locales/sl.ts +3 -0
  166. package/src/components/export/document-export-form.tsx +34 -34
  167. package/src/components/invoices/create/create-invoice-form.tsx +107 -5
  168. package/src/components/invoices/create/prepare-invoice-submission.ts +17 -0
  169. package/src/components/invoices/invoices-furs.hooks.ts +24 -9
  170. package/src/components/invoices/invoices.hooks.ts +32 -2
  171. package/src/components/invoices/list/list-row-actions.tsx +26 -11
  172. package/src/components/invoices/list/list-table.tsx +121 -5
  173. package/src/components/invoices/list/locales/de.ts +5 -0
  174. package/src/components/invoices/list/locales/en.ts +5 -0
  175. package/src/components/invoices/list/locales/es.ts +5 -0
  176. package/src/components/invoices/list/locales/fr.ts +5 -0
  177. package/src/components/invoices/list/locales/hr.ts +5 -0
  178. package/src/components/invoices/list/locales/it.ts +5 -0
  179. package/src/components/invoices/list/locales/nl.ts +5 -0
  180. package/src/components/invoices/list/locales/pl.ts +5 -0
  181. package/src/components/invoices/list/locales/pt.ts +5 -0
  182. package/src/components/invoices/list/locales/sl.ts +5 -0
  183. package/src/components/invoices/view/fiscalization-status-card.tsx +4 -1
  184. package/src/components/items/item-list-table/item-list-row-actions.tsx +5 -8
  185. package/src/components/items/item-list-table/item-list-row.tsx +5 -3
  186. package/src/components/items/item-list-table/item-list-table.tsx +5 -1
  187. package/src/components/recurring-invoices/create-recurring-invoice-form/create-recurring-invoice-form.tsx +418 -0
  188. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/de.ts +45 -0
  189. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/es.ts +44 -0
  190. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/fr.ts +44 -0
  191. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/hr.ts +44 -0
  192. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/it.ts +44 -0
  193. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/nl.ts +44 -0
  194. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/pl.ts +44 -0
  195. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/pt.ts +44 -0
  196. package/src/components/recurring-invoices/create-recurring-invoice-form/locales/sl.ts +44 -0
  197. package/src/components/recurring-invoices/index.ts +3 -0
  198. package/src/components/recurring-invoices/list/index.ts +2 -0
  199. package/src/components/recurring-invoices/list/list-row-actions.tsx +139 -0
  200. package/src/components/recurring-invoices/list/list-table.tsx +179 -0
  201. package/src/components/recurring-invoices/list/locales/de.ts +27 -0
  202. package/src/components/recurring-invoices/list/locales/en.ts +5 -0
  203. package/src/components/recurring-invoices/list/locales/es.ts +27 -0
  204. package/src/components/recurring-invoices/list/locales/fr.ts +27 -0
  205. package/src/components/recurring-invoices/list/locales/hr.ts +27 -0
  206. package/src/components/recurring-invoices/list/locales/it.ts +27 -0
  207. package/src/components/recurring-invoices/list/locales/nl.ts +27 -0
  208. package/src/components/recurring-invoices/list/locales/pl.ts +27 -0
  209. package/src/components/recurring-invoices/list/locales/pt.ts +27 -0
  210. package/src/components/recurring-invoices/list/locales/sl.ts +27 -0
  211. package/src/components/recurring-invoices/recurring-invoices.hooks.ts +28 -0
  212. package/src/components/table/data-table.tsx +122 -5
  213. package/src/components/table/selection-toolbar.tsx +36 -0
  214. package/src/components/tax-reports/kir-export-form.tsx +75 -55
  215. package/src/components/taxes/tax-list-table/tax-list-row-actions.tsx +3 -6
  216. package/src/components/taxes/tax-list-table/tax-list-row.tsx +3 -2
  217. package/src/components/taxes/tax-list-table/tax-list-table.tsx +5 -1
  218. package/src/components/ui/checkbox.tsx +5 -5
  219. package/src/generate-schemas.ts +45 -18
  220. package/src/generated/schemas/authorizeshopify_body.ts +22 -0
  221. package/src/generated/schemas/creditnote.ts +0 -2
  222. package/src/generated/schemas/deliverynote.ts +134 -0
  223. package/src/generated/schemas/entity.ts +5 -1
  224. package/src/generated/schemas/index.ts +42 -28
  225. package/src/generated/schemas/order.ts +129 -0
  226. package/src/generated/schemas/orderintegration.ts +51 -0
  227. package/src/generated/schemas/payment.ts +24 -2
  228. package/src/generated/schemas/recurringinvoice.ts +61 -0
  229. package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +108 -140
  230. package/src/generated/schemas/rendercreditnotepreview_body.ts +109 -141
  231. package/src/generated/schemas/renderdeliverynotepreview_body.ts +185 -0
  232. package/src/generated/schemas/renderestimatepreview_body.ts +79 -82
  233. package/src/generated/schemas/renderinvoicepreview_body.ts +109 -141
  234. package/src/generated/schemas/startpdfexport_body.ts +18 -2
  235. package/src/generated/schemas/userfinasettings.ts +19 -0
  236. package/src/generated/schemas/webhook.ts +54 -0
  237. package/src/hooks/use-duplicate-document.ts +11 -3
  238. package/src/hooks/use-next-document-number.ts +2 -2
  239. package/src/lib/furs-error-utils.ts +36 -0
  240. package/src/lib/schemas/advance-invoice.ts +3 -3
  241. package/src/lib/schemas/credit-note.ts +3 -3
  242. package/src/lib/schemas/estimate.ts +3 -3
  243. package/src/lib/schemas/invoice.ts +3 -3
  244. package/src/providers/sdk-provider.tsx +5 -7
  245. package/src/providers/white-label-provider.tsx +3 -0
@@ -0,0 +1,185 @@
1
+ /**
2
+ * This file was automatically generated using 'bun generate-schemas'.
3
+ * Do not edit this file manually. To update, run the generator again.
4
+ * @generated
5
+ */
6
+
7
+ import { z } from 'zod';
8
+
9
+ // Schemas for renderdeliverynotepreview_body endpoints
10
+
11
+ // Dependency schema for renderdeliverynotepreview_body
12
+ const DocumentEntity = z
13
+ .object({
14
+ name: z.union([z.string(), z.null()]),
15
+ email: z.union([z.string(), z.null()]),
16
+ address: z.union([z.string(), z.null()]),
17
+ address_2: z.union([z.string(), z.null()]),
18
+ post_code: z.union([z.string(), z.null()]),
19
+ city: z.union([z.string(), z.null()]),
20
+ state: z.union([z.string(), z.null()]),
21
+ country: z.union([z.string(), z.null()]),
22
+ country_code: z.union([z.string(), z.null()]),
23
+ tax_number: z.union([z.string(), z.null()]),
24
+ tax_number_2: z.union([z.string(), z.null()]),
25
+ company_number: z.union([z.string(), z.null()]),
26
+ bank_account: z.union([
27
+ z
28
+ .object({
29
+ type: z
30
+ .enum(["iban", "us_domestic", "uk_domestic", "other"])
31
+ .default("iban"),
32
+ name: z.string(),
33
+ bank_name: z.string(),
34
+ iban: z.string(),
35
+ account_number: z.string(),
36
+ bic: z.string(),
37
+ routing_number: z.string(),
38
+ sort_code: z.string(),
39
+ })
40
+ .partial()
41
+ .passthrough(),
42
+ z.null(),
43
+ ]),
44
+ })
45
+ .partial()
46
+ .passthrough();
47
+
48
+
49
+ // Dependency schema for renderdeliverynotepreview_body
50
+ const CreateDocumentCustomer = DocumentEntity.and(
51
+ z.union([
52
+ z
53
+ .object({ save_customer: z.boolean().default(true) })
54
+ .partial()
55
+ .passthrough(),
56
+ z.null(),
57
+ ])
58
+ );
59
+
60
+
61
+ // Dependency schema for renderdeliverynotepreview_body
62
+ const PartialDeliveryNotePreview = z.object({
63
+ is_draft: z.boolean().optional(),
64
+ date: z
65
+ .string()
66
+ .regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?)?$/)
67
+ .optional(),
68
+ issuer: DocumentEntity.optional(),
69
+ customer_id: z.union([z.string(), z.null()]).optional(),
70
+ customer: CreateDocumentCustomer.optional(),
71
+ note: z.union([z.string(), z.null()]).optional(),
72
+ payment_terms: z.union([z.string(), z.null()]).optional(),
73
+ tax_clause: z.union([z.string(), z.null()]).optional(),
74
+ currency_code: z.string().max(3).optional(),
75
+ metadata: z.union([z.record(z.string(), z.any()), z.null()]).optional(),
76
+ hide_prices: z.boolean().optional(),
77
+ date_due: z.union([z.string(), z.null()]).optional(),
78
+ date_service: z.union([z.string(), z.null()]).optional(),
79
+ date_service_to: z.union([z.string(), z.null()]).optional(),
80
+ items: z
81
+ .array(
82
+ z
83
+ .object({
84
+ name: z.string(),
85
+ quantity: z.number(),
86
+ price: z.number(),
87
+ gross_price: z.number(),
88
+ description: z.string(),
89
+ taxes: z.array(
90
+ z
91
+ .object({ rate: z.number(), tax_id: z.string() })
92
+ .partial()
93
+ .passthrough()
94
+ ),
95
+ metadata: z.record(z.string(), z.any()),
96
+ })
97
+ .partial()
98
+ .passthrough()
99
+ )
100
+ .min(1),
101
+ linked_documents: z.array(z.string().min(1)).optional(),
102
+ expected_total_with_tax: z.number().gt(0).optional(),
103
+ });
104
+
105
+
106
+ // Dependency schema for renderdeliverynotepreview_body
107
+ const DocumentItemTax = z
108
+ .object({
109
+ rate: z.number(),
110
+ tax_id: z.string(),
111
+ classification: z.string(),
112
+ reverse_charge: z.boolean(),
113
+ amount: z.number(),
114
+ })
115
+ .partial();
116
+
117
+
118
+ // Dependency schema for renderdeliverynotepreview_body
119
+ const LineDiscount = z.object({
120
+ value: z.number().gte(0),
121
+ type: z.enum(["percent", "amount"]).optional().default("percent"),
122
+ });
123
+
124
+
125
+ // Dependency schema for renderdeliverynotepreview_body
126
+ const CreateDocumentItem = z.object({
127
+ name: z.string().min(1).optional(),
128
+ description: z.union([z.string(), z.null()]).optional(),
129
+ price: z.number().optional(),
130
+ gross_price: z.number().optional(),
131
+ quantity: z.number().gte(-140737488355328).lte(140737488355327),
132
+ unit: z.union([z.string(), z.null()]).optional(),
133
+ taxes: z.array(DocumentItemTax).optional(),
134
+ discounts: z.array(LineDiscount).max(5).optional(),
135
+ delivery_note_id: z.union([z.string(), z.null()]).optional(),
136
+ metadata: z
137
+ .union([
138
+ z.string(),
139
+ z.number(),
140
+ z.boolean(),
141
+ z.null(),
142
+ z.object({}).partial().passthrough(),
143
+ z.array(z.unknown()),
144
+ z.null(),
145
+ ])
146
+ .optional(),
147
+ item_id: z.string().optional(),
148
+ });
149
+
150
+
151
+ // Dependency schema for renderdeliverynotepreview_body
152
+ const CompleteDeliveryNotePreview = z.object({
153
+ is_draft: z.boolean().optional(),
154
+ date: z
155
+ .string()
156
+ .regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?)?$/)
157
+ .optional(),
158
+ issuer: DocumentEntity.optional(),
159
+ customer_id: z.union([z.string(), z.null()]).optional(),
160
+ customer: CreateDocumentCustomer.optional(),
161
+ note: z.union([z.string(), z.null()]).optional(),
162
+ payment_terms: z.union([z.string(), z.null()]).optional(),
163
+ tax_clause: z.union([z.string(), z.null()]).optional(),
164
+ currency_code: z.string().max(3).optional(),
165
+ metadata: z.union([z.record(z.string(), z.any()), z.null()]).optional(),
166
+ hide_prices: z.boolean().optional(),
167
+ date_due: z.union([z.string(), z.null()]).optional(),
168
+ date_service: z.union([z.string(), z.null()]).optional(),
169
+ date_service_to: z.union([z.string(), z.null()]).optional(),
170
+ items: z.array(CreateDocumentItem).min(1),
171
+ linked_documents: z.array(z.string().min(1)).optional(),
172
+ expected_total_with_tax: z.number().gt(0).optional(),
173
+ });
174
+
175
+
176
+ // Schema for render deliverynotepreview operation
177
+ const renderDeliveryNotePreviewSchemaDefinition = z.union([
178
+ PartialDeliveryNotePreview,
179
+ CompleteDeliveryNotePreview,
180
+ ]);
181
+
182
+ // Type for render deliverynotepreview operation
183
+ export type RenderDeliveryNotePreviewSchema = z.infer<typeof renderDeliveryNotePreviewSchemaDefinition>;
184
+
185
+ export const renderDeliveryNotePreviewSchema = renderDeliveryNotePreviewSchemaDefinition;
@@ -8,25 +8,6 @@ import { z } from 'zod';
8
8
 
9
9
  // Schemas for renderestimatepreview_body endpoints
10
10
 
11
- // Dependency schema for renderestimatepreview_body
12
- const LineDiscount = z.object({
13
- value: z.number().gte(0),
14
- type: z.enum(["percent", "amount"]).optional().default("percent"),
15
- });
16
-
17
-
18
- // Dependency schema for renderestimatepreview_body
19
- const DocumentItemTax = z
20
- .object({
21
- rate: z.number(),
22
- tax_id: z.string(),
23
- classification: z.string(),
24
- reverse_charge: z.boolean(),
25
- amount: z.number(),
26
- })
27
- .partial();
28
-
29
-
30
11
  // Dependency schema for renderestimatepreview_body
31
12
  const DocumentEntity = z
32
13
  .object({
@@ -66,7 +47,19 @@ const DocumentEntity = z
66
47
 
67
48
 
68
49
  // Dependency schema for renderestimatepreview_body
69
- const CompleteEstimatePreview = z.object({
50
+ const CreateDocumentCustomer = DocumentEntity.and(
51
+ z.union([
52
+ z
53
+ .object({ save_customer: z.boolean().default(true) })
54
+ .partial()
55
+ .passthrough(),
56
+ z.null(),
57
+ ])
58
+ );
59
+
60
+
61
+ // Dependency schema for renderestimatepreview_body
62
+ const PartialEstimatePreview = z.object({
70
63
  is_draft: z.boolean().optional(),
71
64
  date: z
72
65
  .string()
@@ -74,15 +67,7 @@ const CompleteEstimatePreview = z.object({
74
67
  .optional(),
75
68
  issuer: DocumentEntity.optional(),
76
69
  customer_id: z.union([z.string(), z.null()]).optional(),
77
- customer: DocumentEntity.and(
78
- z.union([
79
- z
80
- .object({ save_customer: z.boolean().default(true) })
81
- .partial()
82
- .passthrough(),
83
- z.null(),
84
- ])
85
- ).optional(),
70
+ customer: CreateDocumentCustomer.optional(),
86
71
  note: z.union([z.string(), z.null()]).optional(),
87
72
  payment_terms: z.union([z.string(), z.null()]).optional(),
88
73
  tax_clause: z.union([z.string(), z.null()]).optional(),
@@ -95,28 +80,23 @@ const CompleteEstimatePreview = z.object({
95
80
  date_service_to: z.union([z.string(), z.null()]).optional(),
96
81
  items: z
97
82
  .array(
98
- z.object({
99
- name: z.string().min(1).optional(),
100
- description: z.union([z.string(), z.null()]).optional(),
101
- price: z.number().optional(),
102
- gross_price: z.number().optional(),
103
- quantity: z.number().gte(-140737488355328).lte(140737488355327),
104
- unit: z.union([z.string(), z.null()]).optional(),
105
- taxes: z.array(DocumentItemTax).optional(),
106
- discounts: z.array(LineDiscount).max(5).optional(),
107
- metadata: z
108
- .union([
109
- z.string(),
110
- z.number(),
111
- z.boolean(),
112
- z.null(),
113
- z.object({}).partial().passthrough(),
114
- z.array(z.unknown()),
115
- z.null(),
116
- ])
117
- .optional(),
118
- item_id: z.string().optional(),
119
- })
83
+ z
84
+ .object({
85
+ name: z.string(),
86
+ quantity: z.number(),
87
+ price: z.number(),
88
+ gross_price: z.number(),
89
+ description: z.string(),
90
+ taxes: z.array(
91
+ z
92
+ .object({ rate: z.number(), tax_id: z.string() })
93
+ .partial()
94
+ .passthrough()
95
+ ),
96
+ metadata: z.record(z.string(), z.any()),
97
+ })
98
+ .partial()
99
+ .passthrough()
120
100
  )
121
101
  .min(1),
122
102
  expected_total_with_tax: z.number().gt(0).optional(),
@@ -124,7 +104,52 @@ const CompleteEstimatePreview = z.object({
124
104
 
125
105
 
126
106
  // Dependency schema for renderestimatepreview_body
127
- const PartialEstimatePreview = z.object({
107
+ const DocumentItemTax = z
108
+ .object({
109
+ rate: z.number(),
110
+ tax_id: z.string(),
111
+ classification: z.string(),
112
+ reverse_charge: z.boolean(),
113
+ amount: z.number(),
114
+ })
115
+ .partial();
116
+
117
+
118
+ // Dependency schema for renderestimatepreview_body
119
+ const LineDiscount = z.object({
120
+ value: z.number().gte(0),
121
+ type: z.enum(["percent", "amount"]).optional().default("percent"),
122
+ });
123
+
124
+
125
+ // Dependency schema for renderestimatepreview_body
126
+ const CreateDocumentItem = z.object({
127
+ name: z.string().min(1).optional(),
128
+ description: z.union([z.string(), z.null()]).optional(),
129
+ price: z.number().optional(),
130
+ gross_price: z.number().optional(),
131
+ quantity: z.number().gte(-140737488355328).lte(140737488355327),
132
+ unit: z.union([z.string(), z.null()]).optional(),
133
+ taxes: z.array(DocumentItemTax).optional(),
134
+ discounts: z.array(LineDiscount).max(5).optional(),
135
+ delivery_note_id: z.union([z.string(), z.null()]).optional(),
136
+ metadata: z
137
+ .union([
138
+ z.string(),
139
+ z.number(),
140
+ z.boolean(),
141
+ z.null(),
142
+ z.object({}).partial().passthrough(),
143
+ z.array(z.unknown()),
144
+ z.null(),
145
+ ])
146
+ .optional(),
147
+ item_id: z.string().optional(),
148
+ });
149
+
150
+
151
+ // Dependency schema for renderestimatepreview_body
152
+ const CompleteEstimatePreview = z.object({
128
153
  is_draft: z.boolean().optional(),
129
154
  date: z
130
155
  .string()
@@ -132,15 +157,7 @@ const PartialEstimatePreview = z.object({
132
157
  .optional(),
133
158
  issuer: DocumentEntity.optional(),
134
159
  customer_id: z.union([z.string(), z.null()]).optional(),
135
- customer: DocumentEntity.and(
136
- z.union([
137
- z
138
- .object({ save_customer: z.boolean().default(true) })
139
- .partial()
140
- .passthrough(),
141
- z.null(),
142
- ])
143
- ).optional(),
160
+ customer: CreateDocumentCustomer.optional(),
144
161
  note: z.union([z.string(), z.null()]).optional(),
145
162
  payment_terms: z.union([z.string(), z.null()]).optional(),
146
163
  tax_clause: z.union([z.string(), z.null()]).optional(),
@@ -151,27 +168,7 @@ const PartialEstimatePreview = z.object({
151
168
  date_due: z.union([z.string(), z.null()]).optional(),
152
169
  date_service: z.union([z.string(), z.null()]).optional(),
153
170
  date_service_to: z.union([z.string(), z.null()]).optional(),
154
- items: z
155
- .array(
156
- z
157
- .object({
158
- name: z.string(),
159
- quantity: z.number(),
160
- price: z.number(),
161
- gross_price: z.number(),
162
- description: z.string(),
163
- taxes: z.array(
164
- z
165
- .object({ rate: z.number(), tax_id: z.string() })
166
- .partial()
167
- .passthrough()
168
- ),
169
- metadata: z.record(z.string(), z.any()),
170
- })
171
- .partial()
172
- .passthrough()
173
- )
174
- .min(1),
171
+ items: z.array(CreateDocumentItem).min(1),
175
172
  expected_total_with_tax: z.number().gt(0).optional(),
176
173
  });
177
174
 
@@ -8,25 +8,6 @@ import { z } from 'zod';
8
8
 
9
9
  // Schemas for renderinvoicepreview_body endpoints
10
10
 
11
- // Dependency schema for renderinvoicepreview_body
12
- const LineDiscount = z.object({
13
- value: z.number().gte(0),
14
- type: z.enum(["percent", "amount"]).optional().default("percent"),
15
- });
16
-
17
-
18
- // Dependency schema for renderinvoicepreview_body
19
- const DocumentItemTax = z
20
- .object({
21
- rate: z.number(),
22
- tax_id: z.string(),
23
- classification: z.string(),
24
- reverse_charge: z.boolean(),
25
- amount: z.number(),
26
- })
27
- .partial();
28
-
29
-
30
11
  // Dependency schema for renderinvoicepreview_body
31
12
  const DocumentEntity = z
32
13
  .object({
@@ -66,91 +47,48 @@ const DocumentEntity = z
66
47
 
67
48
 
68
49
  // Dependency schema for renderinvoicepreview_body
69
- const CompleteInvoicePreview = z.object({
70
- is_draft: z.boolean().optional(),
71
- date: z
72
- .string()
73
- .regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?)?$/)
74
- .optional(),
75
- issuer: DocumentEntity.optional(),
76
- customer_id: z.union([z.string(), z.null()]).optional(),
77
- customer: DocumentEntity.and(
78
- z.union([
79
- z
80
- .object({ save_customer: z.boolean().default(true) })
81
- .partial()
82
- .passthrough(),
83
- z.null(),
84
- ])
85
- ).optional(),
86
- note: z.union([z.string(), z.null()]).optional(),
87
- payment_terms: z.union([z.string(), z.null()]).optional(),
88
- tax_clause: z.union([z.string(), z.null()]).optional(),
89
- currency_code: z.string().max(3).optional(),
90
- metadata: z.union([z.record(z.string(), z.any()), z.null()]).optional(),
91
- date_due: z.union([z.string(), z.null()]).optional(),
92
- date_service: z.union([z.string(), z.null()]).optional(),
93
- date_service_to: z.union([z.string(), z.null()]).optional(),
94
- items: z
95
- .array(
96
- z.object({
97
- name: z.string().min(1).optional(),
98
- description: z.union([z.string(), z.null()]).optional(),
99
- price: z.number().optional(),
100
- gross_price: z.number().optional(),
101
- quantity: z.number().gte(-140737488355328).lte(140737488355327),
102
- unit: z.union([z.string(), z.null()]).optional(),
103
- taxes: z.array(DocumentItemTax).optional(),
104
- discounts: z.array(LineDiscount).max(5).optional(),
105
- metadata: z
106
- .union([
107
- z.string(),
108
- z.number(),
109
- z.boolean(),
110
- z.null(),
111
- z.object({}).partial().passthrough(),
112
- z.array(z.unknown()),
113
- z.null(),
114
- ])
115
- .optional(),
116
- item_id: z.string().optional(),
117
- })
118
- )
119
- .min(1),
120
- fina: z
121
- .union([
122
- z
123
- .object({
124
- premise_id: z
125
- .string()
126
- .min(1)
127
- .max(20)
128
- .regex(/^[0-9a-zA-Z]{1,20}$/),
129
- device_id: z
130
- .string()
131
- .min(1)
132
- .max(20)
133
- .regex(/^\d{1,20}$/),
134
- operator_oib: z.string().min(11).max(11),
135
- is_end_consumer: z.boolean(),
136
- payment_type: z.enum([
137
- "cash",
138
- "card",
139
- "online",
140
- "bank_transfer",
141
- "paypal",
142
- "crypto",
143
- "coupon",
144
- "other",
145
- ]),
146
- subsequent_submit: z.boolean(),
147
- })
148
- .partial(),
149
- z.null(),
150
- ])
151
- .optional(),
152
- expected_total_with_tax: z.number().gt(0).optional(),
153
- });
50
+ const CreateDocumentCustomer = DocumentEntity.and(
51
+ z.union([
52
+ z
53
+ .object({ save_customer: z.boolean().default(true) })
54
+ .partial()
55
+ .passthrough(),
56
+ z.null(),
57
+ ])
58
+ );
59
+
60
+
61
+ // Dependency schema for renderinvoicepreview_body
62
+ const CreateFinaInvoiceData = z.union([
63
+ z
64
+ .object({
65
+ premise_id: z
66
+ .string()
67
+ .min(1)
68
+ .max(20)
69
+ .regex(/^[0-9a-zA-Z]{1,20}$/),
70
+ device_id: z
71
+ .string()
72
+ .min(1)
73
+ .max(20)
74
+ .regex(/^\d{1,20}$/),
75
+ operator_oib: z.string().min(11).max(11),
76
+ is_end_consumer: z.boolean(),
77
+ payment_type: z.enum([
78
+ "cash",
79
+ "card",
80
+ "online",
81
+ "bank_transfer",
82
+ "paypal",
83
+ "crypto",
84
+ "coupon",
85
+ "other",
86
+ ]),
87
+ subsequent_submit: z.boolean(),
88
+ })
89
+ .partial(),
90
+ z.null(),
91
+ ]);
154
92
 
155
93
 
156
94
  // Dependency schema for renderinvoicepreview_body
@@ -162,15 +100,7 @@ const PartialInvoicePreview = z.object({
162
100
  .optional(),
163
101
  issuer: DocumentEntity.optional(),
164
102
  customer_id: z.union([z.string(), z.null()]).optional(),
165
- customer: DocumentEntity.and(
166
- z.union([
167
- z
168
- .object({ save_customer: z.boolean().default(true) })
169
- .partial()
170
- .passthrough(),
171
- z.null(),
172
- ])
173
- ).optional(),
103
+ customer: CreateDocumentCustomer.optional(),
174
104
  note: z.union([z.string(), z.null()]).optional(),
175
105
  payment_terms: z.union([z.string(), z.null()]).optional(),
176
106
  tax_clause: z.union([z.string(), z.null()]).optional(),
@@ -200,38 +130,76 @@ const PartialInvoicePreview = z.object({
200
130
  .passthrough()
201
131
  )
202
132
  .min(1),
203
- fina: z
133
+ fina: CreateFinaInvoiceData.optional(),
134
+ expected_total_with_tax: z.number().gt(0).optional(),
135
+ });
136
+
137
+
138
+ // Dependency schema for renderinvoicepreview_body
139
+ const DocumentItemTax = z
140
+ .object({
141
+ rate: z.number(),
142
+ tax_id: z.string(),
143
+ classification: z.string(),
144
+ reverse_charge: z.boolean(),
145
+ amount: z.number(),
146
+ })
147
+ .partial();
148
+
149
+
150
+ // Dependency schema for renderinvoicepreview_body
151
+ const LineDiscount = z.object({
152
+ value: z.number().gte(0),
153
+ type: z.enum(["percent", "amount"]).optional().default("percent"),
154
+ });
155
+
156
+
157
+ // Dependency schema for renderinvoicepreview_body
158
+ const CreateDocumentItem = z.object({
159
+ name: z.string().min(1).optional(),
160
+ description: z.union([z.string(), z.null()]).optional(),
161
+ price: z.number().optional(),
162
+ gross_price: z.number().optional(),
163
+ quantity: z.number().gte(-140737488355328).lte(140737488355327),
164
+ unit: z.union([z.string(), z.null()]).optional(),
165
+ taxes: z.array(DocumentItemTax).optional(),
166
+ discounts: z.array(LineDiscount).max(5).optional(),
167
+ delivery_note_id: z.union([z.string(), z.null()]).optional(),
168
+ metadata: z
204
169
  .union([
205
- z
206
- .object({
207
- premise_id: z
208
- .string()
209
- .min(1)
210
- .max(20)
211
- .regex(/^[0-9a-zA-Z]{1,20}$/),
212
- device_id: z
213
- .string()
214
- .min(1)
215
- .max(20)
216
- .regex(/^\d{1,20}$/),
217
- operator_oib: z.string().min(11).max(11),
218
- is_end_consumer: z.boolean(),
219
- payment_type: z.enum([
220
- "cash",
221
- "card",
222
- "online",
223
- "bank_transfer",
224
- "paypal",
225
- "crypto",
226
- "coupon",
227
- "other",
228
- ]),
229
- subsequent_submit: z.boolean(),
230
- })
231
- .partial(),
170
+ z.string(),
171
+ z.number(),
172
+ z.boolean(),
173
+ z.null(),
174
+ z.object({}).partial().passthrough(),
175
+ z.array(z.unknown()),
232
176
  z.null(),
233
177
  ])
234
178
  .optional(),
179
+ item_id: z.string().optional(),
180
+ });
181
+
182
+
183
+ // Dependency schema for renderinvoicepreview_body
184
+ const CompleteInvoicePreview = z.object({
185
+ is_draft: z.boolean().optional(),
186
+ date: z
187
+ .string()
188
+ .regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?)?$/)
189
+ .optional(),
190
+ issuer: DocumentEntity.optional(),
191
+ customer_id: z.union([z.string(), z.null()]).optional(),
192
+ customer: CreateDocumentCustomer.optional(),
193
+ note: z.union([z.string(), z.null()]).optional(),
194
+ payment_terms: z.union([z.string(), z.null()]).optional(),
195
+ tax_clause: z.union([z.string(), z.null()]).optional(),
196
+ currency_code: z.string().max(3).optional(),
197
+ metadata: z.union([z.record(z.string(), z.any()), z.null()]).optional(),
198
+ date_due: z.union([z.string(), z.null()]).optional(),
199
+ date_service: z.union([z.string(), z.null()]).optional(),
200
+ date_service_to: z.union([z.string(), z.null()]).optional(),
201
+ items: z.array(CreateDocumentItem).min(1),
202
+ fina: CreateFinaInvoiceData.optional(),
235
203
  expected_total_with_tax: z.number().gt(0).optional(),
236
204
  });
237
205