@spaceinvoices/react-ui 0.1.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/cli/dist/index.js +1 -1
  2. package/package.json +1 -1
  3. package/registry.json +86 -122
  4. package/src/components/activities/activity-timeline.tsx +8 -1
  5. package/src/components/activities/locales/es.ts +30 -0
  6. package/src/components/activities/locales/fr.ts +30 -0
  7. package/src/components/activities/locales/hr.ts +30 -0
  8. package/src/components/activities/locales/it.ts +30 -0
  9. package/src/components/activities/locales/nl.ts +30 -0
  10. package/src/components/activities/locales/pl.ts +30 -0
  11. package/src/components/activities/locales/pt.ts +30 -0
  12. package/src/components/advance-invoices/advance-invoices.hooks.ts +2 -2
  13. package/src/components/advance-invoices/create/create-advance-invoice-form.tsx +21 -7
  14. package/src/components/advance-invoices/create/locales/es.ts +29 -0
  15. package/src/components/advance-invoices/create/locales/fr.ts +28 -0
  16. package/src/components/advance-invoices/create/locales/hr.ts +27 -0
  17. package/src/components/advance-invoices/create/locales/it.ts +29 -0
  18. package/src/components/advance-invoices/create/locales/nl.ts +28 -0
  19. package/src/components/advance-invoices/create/locales/pl.ts +28 -0
  20. package/src/components/advance-invoices/create/locales/pt.ts +29 -0
  21. package/src/components/advance-invoices/create/prepare-advance-invoice-submission.ts +3 -3
  22. package/src/components/advance-invoices/list/list-table.tsx +20 -3
  23. package/src/components/advance-invoices/list/locales/de.ts +9 -0
  24. package/src/components/advance-invoices/list/locales/en.ts +8 -0
  25. package/src/components/advance-invoices/list/locales/es.ts +41 -0
  26. package/src/components/advance-invoices/list/locales/fr.ts +41 -0
  27. package/src/components/advance-invoices/list/locales/hr.ts +41 -0
  28. package/src/components/advance-invoices/list/locales/it.ts +41 -0
  29. package/src/components/advance-invoices/list/locales/nl.ts +41 -0
  30. package/src/components/advance-invoices/list/locales/pl.ts +41 -0
  31. package/src/components/advance-invoices/list/locales/pt.ts +41 -0
  32. package/src/components/advance-invoices/list/locales/sl.ts +9 -0
  33. package/src/components/credit-notes/create/create-credit-note-form.tsx +19 -5
  34. package/src/components/credit-notes/create/locales/es.ts +68 -0
  35. package/src/components/credit-notes/create/locales/fr.ts +69 -0
  36. package/src/components/credit-notes/create/locales/hr.ts +68 -0
  37. package/src/components/credit-notes/create/locales/it.ts +68 -0
  38. package/src/components/credit-notes/create/locales/nl.ts +69 -0
  39. package/src/components/credit-notes/create/locales/pl.ts +68 -0
  40. package/src/components/credit-notes/create/locales/pt.ts +68 -0
  41. package/src/components/credit-notes/list/list-table.tsx +25 -8
  42. package/src/components/credit-notes/list/locales/de.ts +10 -2
  43. package/src/components/credit-notes/list/locales/en.ts +8 -0
  44. package/src/components/credit-notes/list/locales/es.ts +41 -0
  45. package/src/components/credit-notes/list/locales/fr.ts +41 -0
  46. package/src/components/credit-notes/list/locales/hr.ts +41 -0
  47. package/src/components/credit-notes/list/locales/it.ts +41 -0
  48. package/src/components/credit-notes/list/locales/nl.ts +41 -0
  49. package/src/components/credit-notes/list/locales/pl.ts +41 -0
  50. package/src/components/credit-notes/list/locales/pt.ts +41 -0
  51. package/src/components/credit-notes/list/locales/sl.ts +10 -2
  52. package/src/components/customers/create-customer-form/create-customer-form.tsx +21 -3
  53. package/src/components/customers/create-customer-form/locales/de.ts +1 -0
  54. package/src/components/customers/create-customer-form/locales/es.ts +21 -0
  55. package/src/components/customers/create-customer-form/locales/fr.ts +21 -0
  56. package/src/components/customers/create-customer-form/locales/hr.ts +21 -0
  57. package/src/components/customers/create-customer-form/locales/it.ts +21 -0
  58. package/src/components/customers/create-customer-form/locales/nl.ts +21 -0
  59. package/src/components/customers/create-customer-form/locales/pl.ts +21 -0
  60. package/src/components/customers/create-customer-form/locales/pt.ts +21 -0
  61. package/src/components/customers/create-customer-form/locales/sl.ts +1 -0
  62. package/src/components/customers/customer-list-table/customer-list-row-actions.tsx +72 -16
  63. package/src/components/customers/customer-list-table/customer-list-table.tsx +35 -2
  64. package/src/components/customers/customer-list-table/locales/de.ts +9 -0
  65. package/src/components/customers/customer-list-table/locales/en.ts +10 -0
  66. package/src/components/customers/customer-list-table/locales/es.ts +25 -0
  67. package/src/components/customers/customer-list-table/locales/fr.ts +25 -0
  68. package/src/components/customers/customer-list-table/locales/hr.ts +25 -0
  69. package/src/components/customers/customer-list-table/locales/it.ts +25 -0
  70. package/src/components/customers/customer-list-table/locales/nl.ts +25 -0
  71. package/src/components/customers/customer-list-table/locales/pl.ts +25 -0
  72. package/src/components/customers/customer-list-table/locales/pt.ts +25 -0
  73. package/src/components/customers/customer-list-table/locales/sl.ts +9 -0
  74. package/src/components/customers/customers.hooks.test.ts +8 -8
  75. package/src/components/customers/customers.hooks.ts +6 -1
  76. package/src/components/customers/edit-customer-form/edit-customer-form.tsx +143 -0
  77. package/src/components/customers/edit-customer-form/locales/de.ts +13 -0
  78. package/src/components/customers/edit-customer-form/locales/es.ts +13 -0
  79. package/src/components/customers/edit-customer-form/locales/fr.ts +13 -0
  80. package/src/components/customers/edit-customer-form/locales/hr.ts +13 -0
  81. package/src/components/customers/edit-customer-form/locales/it.ts +13 -0
  82. package/src/components/customers/edit-customer-form/locales/nl.ts +13 -0
  83. package/src/components/customers/edit-customer-form/locales/pl.ts +13 -0
  84. package/src/components/customers/edit-customer-form/locales/pt.ts +13 -0
  85. package/src/components/customers/edit-customer-form/locales/sl.ts +13 -0
  86. package/src/components/customers/index.ts +1 -0
  87. package/src/components/dashboard/collection-rate-card/collection-rate-card.tsx +9 -1
  88. package/src/components/dashboard/collection-rate-card/locales/de.ts +3 -0
  89. package/src/components/dashboard/collection-rate-card/locales/es.ts +3 -0
  90. package/src/components/dashboard/collection-rate-card/locales/fr.ts +3 -0
  91. package/src/components/dashboard/collection-rate-card/locales/hr.ts +3 -0
  92. package/src/components/dashboard/collection-rate-card/locales/it.ts +3 -0
  93. package/src/components/dashboard/collection-rate-card/locales/nl.ts +3 -0
  94. package/src/components/dashboard/collection-rate-card/locales/pl.ts +3 -0
  95. package/src/components/dashboard/collection-rate-card/locales/pt.ts +3 -0
  96. package/src/components/dashboard/invoice-status-chart/invoice-status-chart.tsx +9 -1
  97. package/src/components/dashboard/invoice-status-chart/locales/de.ts +9 -0
  98. package/src/components/dashboard/invoice-status-chart/locales/es.ts +9 -0
  99. package/src/components/dashboard/invoice-status-chart/locales/fr.ts +9 -0
  100. package/src/components/dashboard/invoice-status-chart/locales/hr.ts +9 -0
  101. package/src/components/dashboard/invoice-status-chart/locales/it.ts +9 -0
  102. package/src/components/dashboard/invoice-status-chart/locales/nl.ts +9 -0
  103. package/src/components/dashboard/invoice-status-chart/locales/pl.ts +9 -0
  104. package/src/components/dashboard/invoice-status-chart/locales/pt.ts +9 -0
  105. package/src/components/dashboard/payment-methods-chart/locales/de.ts +12 -0
  106. package/src/components/dashboard/payment-methods-chart/locales/es.ts +12 -0
  107. package/src/components/dashboard/payment-methods-chart/locales/fr.ts +12 -0
  108. package/src/components/dashboard/payment-methods-chart/locales/hr.ts +12 -0
  109. package/src/components/dashboard/payment-methods-chart/locales/it.ts +12 -0
  110. package/src/components/dashboard/payment-methods-chart/locales/nl.ts +12 -0
  111. package/src/components/dashboard/payment-methods-chart/locales/pl.ts +12 -0
  112. package/src/components/dashboard/payment-methods-chart/locales/pt.ts +12 -0
  113. package/src/components/dashboard/payment-methods-chart/payment-methods-chart.tsx +9 -1
  114. package/src/components/dashboard/payment-trend-chart/locales/de.ts +5 -0
  115. package/src/components/dashboard/payment-trend-chart/locales/es.ts +5 -0
  116. package/src/components/dashboard/payment-trend-chart/locales/fr.ts +5 -0
  117. package/src/components/dashboard/payment-trend-chart/locales/hr.ts +5 -0
  118. package/src/components/dashboard/payment-trend-chart/locales/it.ts +5 -0
  119. package/src/components/dashboard/payment-trend-chart/locales/nl.ts +5 -0
  120. package/src/components/dashboard/payment-trend-chart/locales/pl.ts +5 -0
  121. package/src/components/dashboard/payment-trend-chart/locales/pt.ts +5 -0
  122. package/src/components/dashboard/payment-trend-chart/payment-trend-chart.tsx +10 -2
  123. package/src/components/dashboard/revenue-trend-chart/locales/de.ts +5 -0
  124. package/src/components/dashboard/revenue-trend-chart/locales/es.ts +5 -0
  125. package/src/components/dashboard/revenue-trend-chart/locales/fr.ts +5 -0
  126. package/src/components/dashboard/revenue-trend-chart/locales/hr.ts +5 -0
  127. package/src/components/dashboard/revenue-trend-chart/locales/it.ts +5 -0
  128. package/src/components/dashboard/revenue-trend-chart/locales/nl.ts +5 -0
  129. package/src/components/dashboard/revenue-trend-chart/locales/pl.ts +5 -0
  130. package/src/components/dashboard/revenue-trend-chart/locales/pt.ts +5 -0
  131. package/src/components/dashboard/revenue-trend-chart/revenue-trend-chart.tsx +10 -2
  132. package/src/components/dashboard/top-customers-chart/locales/de.ts +5 -0
  133. package/src/components/dashboard/top-customers-chart/locales/es.ts +5 -0
  134. package/src/components/dashboard/top-customers-chart/locales/fr.ts +5 -0
  135. package/src/components/dashboard/top-customers-chart/locales/hr.ts +5 -0
  136. package/src/components/dashboard/top-customers-chart/locales/it.ts +5 -0
  137. package/src/components/dashboard/top-customers-chart/locales/nl.ts +5 -0
  138. package/src/components/dashboard/top-customers-chart/locales/pl.ts +5 -0
  139. package/src/components/dashboard/top-customers-chart/locales/pt.ts +5 -0
  140. package/src/components/dashboard/top-customers-chart/top-customers-chart.tsx +10 -2
  141. package/src/components/documents/create/document-add-item-form.tsx +1 -1
  142. package/src/components/documents/create/form-types.ts +1 -5
  143. package/src/components/documents/create/mark-as-paid-section.tsx +60 -23
  144. package/src/components/documents/create/prepare-document-submission.test.ts +2 -2
  145. package/src/components/documents/create/prepare-document-submission.ts +12 -7
  146. package/src/components/documents/create/prepare-preview-data.test.ts +1 -1
  147. package/src/components/documents/documents.hooks.ts +5 -48
  148. package/src/components/documents/shared/document-preview-display.tsx +12 -1
  149. package/src/components/documents/view/document-actions-bar.tsx +28 -13
  150. package/src/components/documents/view/document-activities-list.tsx +166 -0
  151. package/src/components/documents/view/document-details-card.tsx +14 -7
  152. package/src/components/documents/view/document-payments-list.tsx +8 -1
  153. package/src/components/documents/view/index.ts +1 -0
  154. package/src/components/documents/view/locales/de.ts +32 -0
  155. package/src/components/documents/view/locales/es.ts +115 -0
  156. package/src/components/documents/view/locales/fr.ts +115 -0
  157. package/src/components/documents/view/locales/hr.ts +115 -0
  158. package/src/components/documents/view/locales/it.ts +115 -0
  159. package/src/components/documents/view/locales/nl.ts +116 -0
  160. package/src/components/documents/view/locales/pl.ts +115 -0
  161. package/src/components/documents/view/locales/pt.ts +115 -0
  162. package/src/components/documents/view/locales/sl.ts +32 -0
  163. package/src/components/entities/create-entity-form.tsx +12 -2
  164. package/src/components/entities/entity-settings-form/entity-settings-form.tsx +18 -0
  165. package/src/components/entities/entity-settings-form/locales/de.ts +3 -1
  166. package/src/components/entities/entity-settings-form/locales/es.ts +197 -0
  167. package/src/components/entities/entity-settings-form/locales/fr.ts +196 -0
  168. package/src/components/entities/entity-settings-form/locales/hr.ts +189 -0
  169. package/src/components/entities/entity-settings-form/locales/it.ts +195 -0
  170. package/src/components/entities/entity-settings-form/locales/nl.ts +192 -0
  171. package/src/components/entities/entity-settings-form/locales/pl.ts +193 -0
  172. package/src/components/entities/entity-settings-form/locales/pt.ts +194 -0
  173. package/src/components/entities/entity-settings-form/locales/sl.ts +2 -0
  174. package/src/components/entities/fina-settings-form/fina-settings-form.tsx +461 -0
  175. package/src/components/entities/fina-settings-form/fina-settings.hooks.ts +215 -0
  176. package/src/components/entities/fina-settings-form/index.ts +3 -0
  177. package/src/components/entities/fina-settings-form/locales/de.ts +148 -0
  178. package/src/components/entities/fina-settings-form/locales/en.ts +145 -0
  179. package/src/components/entities/fina-settings-form/locales/es.ts +146 -0
  180. package/src/components/entities/fina-settings-form/locales/fr.ts +145 -0
  181. package/src/components/entities/fina-settings-form/locales/hr.ts +147 -0
  182. package/src/components/entities/fina-settings-form/locales/it.ts +147 -0
  183. package/src/components/entities/fina-settings-form/locales/nl.ts +147 -0
  184. package/src/components/entities/fina-settings-form/locales/pl.ts +145 -0
  185. package/src/components/entities/fina-settings-form/locales/pt.ts +147 -0
  186. package/src/components/entities/fina-settings-form/locales/sl.ts +147 -0
  187. package/src/components/entities/fina-settings-form/sections/certificate-settings-section.tsx +233 -0
  188. package/src/components/entities/fina-settings-form/sections/premises-management-section.tsx +363 -0
  189. package/src/components/entities/fina-settings-form/sections/register-premise-dialog.tsx +395 -0
  190. package/src/components/entities/furs-settings-form/furs-settings-form.tsx +24 -9
  191. package/src/components/entities/furs-settings-form/furs-settings.hooks.ts +15 -11
  192. package/src/components/entities/furs-settings-form/locales/de.ts +54 -88
  193. package/src/components/entities/furs-settings-form/locales/en.ts +15 -0
  194. package/src/components/entities/furs-settings-form/locales/es.ts +198 -0
  195. package/src/components/entities/furs-settings-form/locales/fr.ts +198 -0
  196. package/src/components/entities/furs-settings-form/locales/hr.ts +197 -0
  197. package/src/components/entities/furs-settings-form/locales/it.ts +198 -0
  198. package/src/components/entities/furs-settings-form/locales/nl.ts +197 -0
  199. package/src/components/entities/furs-settings-form/locales/pl.ts +196 -0
  200. package/src/components/entities/furs-settings-form/locales/pt.ts +197 -0
  201. package/src/components/entities/furs-settings-form/locales/sl.ts +16 -0
  202. package/src/components/entities/furs-settings-form/sections/certificate-settings-section.tsx +19 -4
  203. package/src/components/entities/furs-settings-form/sections/general-settings-section.tsx +121 -1
  204. package/src/components/entities/furs-settings-form/sections/register-premise-dialog.tsx +17 -66
  205. package/src/components/entities/keys.ts +1 -1
  206. package/src/components/entities/settings/company-settings-form.tsx +28 -0
  207. package/src/components/entities/settings/pdf-template-selector/locales/es.ts +18 -0
  208. package/src/components/entities/settings/pdf-template-selector/locales/fr.ts +18 -0
  209. package/src/components/entities/settings/pdf-template-selector/locales/hr.ts +18 -0
  210. package/src/components/entities/settings/pdf-template-selector/locales/it.ts +18 -0
  211. package/src/components/entities/settings/pdf-template-selector/locales/nl.ts +17 -0
  212. package/src/components/entities/settings/pdf-template-selector/locales/pl.ts +18 -0
  213. package/src/components/entities/settings/pdf-template-selector/locales/pt.ts +18 -0
  214. package/src/components/estimates/create/create-estimate-form.tsx +14 -0
  215. package/src/components/estimates/create/locales/es.ts +57 -0
  216. package/src/components/estimates/create/locales/fr.ts +58 -0
  217. package/src/components/estimates/create/locales/hr.ts +57 -0
  218. package/src/components/estimates/create/locales/it.ts +57 -0
  219. package/src/components/estimates/create/locales/nl.ts +58 -0
  220. package/src/components/estimates/create/locales/pl.ts +57 -0
  221. package/src/components/estimates/create/locales/pt.ts +58 -0
  222. package/src/components/estimates/create/prepare-estimate-submission.ts +1 -1
  223. package/src/components/estimates/list/list-table.tsx +20 -3
  224. package/src/components/estimates/list/locales/de.ts +9 -0
  225. package/src/components/estimates/list/locales/en.ts +8 -0
  226. package/src/components/estimates/list/locales/es.ts +32 -0
  227. package/src/components/estimates/list/locales/fr.ts +32 -0
  228. package/src/components/estimates/list/locales/hr.ts +32 -0
  229. package/src/components/estimates/list/locales/it.ts +32 -0
  230. package/src/components/estimates/list/locales/nl.ts +32 -0
  231. package/src/components/estimates/list/locales/pl.ts +32 -0
  232. package/src/components/estimates/list/locales/pt.ts +32 -0
  233. package/src/components/estimates/list/locales/sl.ts +9 -0
  234. package/src/components/export/document-export-form.tsx +0 -2
  235. package/src/components/invoices/create/create-invoice-form.tsx +24 -10
  236. package/src/components/invoices/create/eslog-validation.test.ts +2 -0
  237. package/src/components/invoices/create/locales/es.ts +103 -0
  238. package/src/components/invoices/create/locales/fr.ts +105 -0
  239. package/src/components/invoices/create/locales/hr.ts +103 -0
  240. package/src/components/invoices/create/locales/it.ts +105 -0
  241. package/src/components/invoices/create/locales/nl.ts +104 -0
  242. package/src/components/invoices/create/locales/pl.ts +104 -0
  243. package/src/components/invoices/create/locales/pt.ts +105 -0
  244. package/src/components/invoices/create/prepare-invoice-submission.test.ts +54 -55
  245. package/src/components/invoices/create/prepare-invoice-submission.ts +3 -3
  246. package/src/components/invoices/index.ts +1 -1
  247. package/src/components/invoices/list/list-table.tsx +20 -3
  248. package/src/components/invoices/list/locales/de.ts +9 -0
  249. package/src/components/invoices/list/locales/en.ts +8 -0
  250. package/src/components/invoices/list/locales/es.ts +42 -0
  251. package/src/components/invoices/list/locales/fr.ts +42 -0
  252. package/src/components/invoices/list/locales/hr.ts +42 -0
  253. package/src/components/invoices/list/locales/it.ts +42 -0
  254. package/src/components/invoices/list/locales/nl.ts +42 -0
  255. package/src/components/invoices/list/locales/pl.ts +42 -0
  256. package/src/components/invoices/list/locales/pt.ts +42 -0
  257. package/src/components/invoices/list/locales/sl.ts +9 -0
  258. package/src/components/invoices/send-email-dialog/locales/es.ts +18 -0
  259. package/src/components/invoices/send-email-dialog/locales/fr.ts +18 -0
  260. package/src/components/invoices/send-email-dialog/locales/hr.ts +17 -0
  261. package/src/components/invoices/send-email-dialog/locales/it.ts +18 -0
  262. package/src/components/invoices/send-email-dialog/locales/nl.ts +18 -0
  263. package/src/components/invoices/send-email-dialog/locales/pl.ts +18 -0
  264. package/src/components/invoices/send-email-dialog/locales/pt.ts +18 -0
  265. package/src/components/invoices/send-email-dialog/send-email-dialog.tsx +22 -14
  266. package/src/components/invoices/shared/scaled-document-preview.tsx +1 -0
  267. package/src/components/invoices/view/eslog-info-display.tsx +1 -0
  268. package/src/components/invoices/view/fiscalization-status-card.tsx +121 -0
  269. package/src/components/items/create-item-form/create-item-form.tsx +14 -0
  270. package/src/components/items/create-item-form/locales/en.ts +5 -0
  271. package/src/components/items/create-item-form/locales/es.ts +14 -0
  272. package/src/components/items/create-item-form/locales/fr.ts +14 -0
  273. package/src/components/items/create-item-form/locales/hr.ts +14 -0
  274. package/src/components/items/create-item-form/locales/it.ts +14 -0
  275. package/src/components/items/create-item-form/locales/nl.ts +14 -0
  276. package/src/components/items/create-item-form/locales/pl.ts +14 -0
  277. package/src/components/items/create-item-form/locales/pt.ts +14 -0
  278. package/src/components/items/edit-item-form/edit-item-form.tsx +170 -0
  279. package/src/components/items/edit-item-form/locales/de.ts +12 -0
  280. package/src/components/items/edit-item-form/locales/es.ts +12 -0
  281. package/src/components/items/edit-item-form/locales/fr.ts +12 -0
  282. package/src/components/items/edit-item-form/locales/hr.ts +12 -0
  283. package/src/components/items/edit-item-form/locales/it.ts +12 -0
  284. package/src/components/items/edit-item-form/locales/nl.ts +12 -0
  285. package/src/components/items/edit-item-form/locales/pl.ts +12 -0
  286. package/src/components/items/edit-item-form/locales/pt.ts +12 -0
  287. package/src/components/items/edit-item-form/locales/sl.ts +12 -0
  288. package/src/components/items/item-list-table/item-list-table.tsx +20 -13
  289. package/src/components/items/item-list-table/locales/de.ts +6 -0
  290. package/src/components/items/item-list-table/locales/en.ts +5 -0
  291. package/src/components/items/item-list-table/locales/es.ts +16 -0
  292. package/src/components/items/item-list-table/locales/fr.ts +16 -0
  293. package/src/components/items/item-list-table/locales/hr.ts +16 -0
  294. package/src/components/items/item-list-table/locales/it.ts +16 -0
  295. package/src/components/items/item-list-table/locales/nl.ts +16 -0
  296. package/src/components/items/item-list-table/locales/pl.ts +16 -0
  297. package/src/components/items/item-list-table/locales/pt.ts +16 -0
  298. package/src/components/items/item-list-table/locales/sl.ts +6 -0
  299. package/src/components/items/items.hooks.ts +7 -2
  300. package/src/components/payments/create-payment-form/create-payment-form.tsx +14 -0
  301. package/src/components/payments/create-payment-form/locales/es.ts +20 -0
  302. package/src/components/payments/create-payment-form/locales/fr.ts +20 -0
  303. package/src/components/payments/create-payment-form/locales/hr.ts +20 -0
  304. package/src/components/payments/create-payment-form/locales/it.ts +20 -0
  305. package/src/components/payments/create-payment-form/locales/nl.ts +20 -0
  306. package/src/components/payments/create-payment-form/locales/pl.ts +20 -0
  307. package/src/components/payments/create-payment-form/locales/pt.ts +20 -0
  308. package/src/components/payments/edit-payment-form/edit-payment-form.tsx +18 -2
  309. package/src/components/payments/edit-payment-form/locales/es.ts +20 -0
  310. package/src/components/payments/edit-payment-form/locales/fr.ts +20 -0
  311. package/src/components/payments/edit-payment-form/locales/hr.ts +20 -0
  312. package/src/components/payments/edit-payment-form/locales/it.ts +20 -0
  313. package/src/components/payments/edit-payment-form/locales/nl.ts +20 -0
  314. package/src/components/payments/edit-payment-form/locales/pl.ts +20 -0
  315. package/src/components/payments/edit-payment-form/locales/pt.ts +20 -0
  316. package/src/components/payments/list/list-row-actions.tsx +14 -0
  317. package/src/components/payments/list/list-table.tsx +21 -2
  318. package/src/components/payments/list/locales/de.ts +6 -0
  319. package/src/components/payments/list/locales/en.ts +7 -0
  320. package/src/components/payments/list/locales/es.ts +25 -0
  321. package/src/components/payments/list/locales/fr.ts +25 -0
  322. package/src/components/payments/list/locales/hr.ts +25 -0
  323. package/src/components/payments/list/locales/it.ts +25 -0
  324. package/src/components/payments/list/locales/nl.ts +25 -0
  325. package/src/components/payments/list/locales/pl.ts +25 -0
  326. package/src/components/payments/list/locales/pt.ts +25 -0
  327. package/src/components/payments/list/locales/sl.ts +6 -0
  328. package/src/components/payments/payments.hooks.ts +7 -2
  329. package/src/components/request-logs/index.ts +1 -1
  330. package/src/components/table/data-table.tsx +8 -3
  331. package/src/components/table/filter-panel.tsx +4 -4
  332. package/src/components/table/hooks/use-table-query.ts +3 -0
  333. package/src/components/table/table-empty-state.tsx +11 -4
  334. package/src/components/table/table-no-results.tsx +6 -4
  335. package/src/components/table/types.ts +2 -2
  336. package/src/components/tax-reports/kir-export-form.tsx +0 -1
  337. package/src/components/taxes/create-tax-form/create-tax-form.tsx +14 -0
  338. package/src/components/taxes/create-tax-form/locales/en.ts +1 -0
  339. package/src/components/taxes/create-tax-form/locales/es.ts +8 -0
  340. package/src/components/taxes/create-tax-form/locales/fr.ts +8 -0
  341. package/src/components/taxes/create-tax-form/locales/hr.ts +8 -0
  342. package/src/components/taxes/create-tax-form/locales/it.ts +8 -0
  343. package/src/components/taxes/create-tax-form/locales/nl.ts +8 -0
  344. package/src/components/taxes/create-tax-form/locales/pl.ts +8 -0
  345. package/src/components/taxes/create-tax-form/locales/pt.ts +8 -0
  346. package/src/components/taxes/edit-tax-form/edit-tax-form.tsx +119 -0
  347. package/src/components/taxes/edit-tax-form/locales/de.ts +6 -0
  348. package/src/components/taxes/edit-tax-form/locales/es.ts +6 -0
  349. package/src/components/taxes/edit-tax-form/locales/fr.ts +6 -0
  350. package/src/components/taxes/edit-tax-form/locales/hr.ts +6 -0
  351. package/src/components/taxes/edit-tax-form/locales/it.ts +6 -0
  352. package/src/components/taxes/edit-tax-form/locales/nl.ts +6 -0
  353. package/src/components/taxes/edit-tax-form/locales/pl.ts +6 -0
  354. package/src/components/taxes/edit-tax-form/locales/pt.ts +6 -0
  355. package/src/components/taxes/edit-tax-form/locales/sl.ts +6 -0
  356. package/src/components/taxes/tax-list-table/locales/de.ts +6 -0
  357. package/src/components/taxes/tax-list-table/locales/en.ts +6 -0
  358. package/src/components/taxes/tax-list-table/locales/es.ts +17 -0
  359. package/src/components/taxes/tax-list-table/locales/fr.ts +17 -0
  360. package/src/components/taxes/tax-list-table/locales/hr.ts +17 -0
  361. package/src/components/taxes/tax-list-table/locales/it.ts +17 -0
  362. package/src/components/taxes/tax-list-table/locales/nl.ts +17 -0
  363. package/src/components/taxes/tax-list-table/locales/pl.ts +17 -0
  364. package/src/components/taxes/tax-list-table/locales/pt.ts +17 -0
  365. package/src/components/taxes/tax-list-table/locales/sl.ts +6 -0
  366. package/src/components/taxes/tax-list-table/tax-list-table.tsx +18 -0
  367. package/src/components/taxes/taxes.hooks.ts +12 -7
  368. package/src/components/ui/tooltip.tsx +2 -2
  369. package/src/components/wl-subscription/locked-feature.tsx +1 -0
  370. package/src/components/wl-subscription/upgrade-modal.tsx +1 -0
  371. package/src/generated/schemas/acceptentityinvitation_body.ts +17 -0
  372. package/src/generated/schemas/addentityuser_body.ts +18 -0
  373. package/src/generated/schemas/advanceinvoice.ts +184 -12
  374. package/src/generated/schemas/creditnote.ts +99 -127
  375. package/src/generated/schemas/customadvanceinvoice.ts +246 -0
  376. package/src/generated/schemas/customcreditnote.ts +237 -0
  377. package/src/generated/schemas/customer.ts +26 -0
  378. package/src/generated/schemas/customestimate.ts +181 -0
  379. package/src/generated/schemas/custominvoice.ts +237 -0
  380. package/src/generated/schemas/entity.ts +66 -7
  381. package/src/generated/schemas/entityuserrole.ts +19 -0
  382. package/src/generated/schemas/estimate.ts +149 -1
  383. package/src/generated/schemas/finasettings.ts +25 -0
  384. package/src/generated/schemas/furssettings.ts +1 -2
  385. package/src/generated/schemas/index.ts +24 -5
  386. package/src/generated/schemas/invoice.ts +224 -22
  387. package/src/generated/schemas/me.ts +22 -0
  388. package/src/generated/schemas/registerfinamovablepremise_body.ts +26 -0
  389. package/src/generated/schemas/registerfinarealestatepremise_body.ts +37 -0
  390. package/src/generated/schemas/renderadvanceinvoicepreview_body.ts +342 -0
  391. package/src/generated/schemas/rendercreditnotepreview_body.ts +344 -0
  392. package/src/generated/schemas/renderestimatepreview_body.ts +284 -0
  393. package/src/generated/schemas/renderinvoicepreview_body.ts +344 -0
  394. package/src/generated/schemas/senddocument_body.ts +23 -0
  395. package/src/generated/schemas/sendemail_body.ts +8 -10
  396. package/src/generated/schemas/stripeappconnect_body.ts +18 -0
  397. package/src/generated/schemas/stripeappcreateinvoice_body.ts +20 -0
  398. package/src/generated/schemas/stripeappupdatesettings_body.ts +26 -0
  399. package/src/generated/schemas/webhook.ts +143 -0
  400. package/src/hooks/create-resource-hooks.ts +85 -1
  401. package/src/hooks/use-duplicate-document.ts +19 -11
  402. package/src/hooks/use-next-document-number.ts +1 -1
  403. package/src/hooks/use-resource-mutation.ts +4 -3
  404. package/src/lib/browser-cookies.ts +12 -1
  405. package/src/lib/cookies.ts +2 -2
  406. package/src/lib/translation.ts +1 -1
  407. package/src/providers/entities-provider.tsx +105 -39
  408. package/src/providers/sdk-provider.tsx +7 -3
  409. package/src/providers/white-label-provider.tsx +5 -2
  410. package/src/providers/wl-subscription-provider.tsx +1 -0
  411. package/src/components/invoices/view/furs-info-display.tsx +0 -213
@@ -7,13 +7,29 @@ import { useTableFetch } from "../../table/hooks/use-table-fetch";
7
7
  import type { ListTableProps, TableQueryParams } from "../../table/types";
8
8
  import { TAXES_CACHE_KEY } from "../taxes.hooks";
9
9
  import de from "./locales/de";
10
+ import en from "./locales/en";
11
+ import es from "./locales/es";
12
+ import fr from "./locales/fr";
13
+ import hr from "./locales/hr";
14
+ import it from "./locales/it";
15
+ import nl from "./locales/nl";
16
+ import pl from "./locales/pl";
17
+ import pt from "./locales/pt";
10
18
  import sl from "./locales/sl";
11
19
  import TaxListHeader from "./tax-list-header";
12
20
  import TaxListRow from "./tax-list-row";
13
21
 
14
22
  const translations = {
23
+ en,
15
24
  sl,
16
25
  de,
26
+ it,
27
+ fr,
28
+ es,
29
+ pt,
30
+ nl,
31
+ pl,
32
+ hr,
17
33
  } as const;
18
34
 
19
35
  type TaxListTableProps = {
@@ -54,6 +70,8 @@ export default function TaxListTable({
54
70
  onFetch={handleFetch}
55
71
  onChangeParams={onChangeParams}
56
72
  entityId={entityId}
73
+ t={t}
74
+ locale={i18nProps.locale}
57
75
  />
58
76
  );
59
77
  }
@@ -1,17 +1,22 @@
1
- import type { CreateTaxBody, PaginatedResponse, Tax } from "@spaceinvoices/js-sdk";
1
+ import type { CreateTaxBody, PaginatedResponse, Tax, UpdateTaxBody } from "@spaceinvoices/js-sdk";
2
2
  import { type UseQueryOptions, useQuery } from "@tanstack/react-query";
3
3
  import { createResourceHooks } from "../../hooks/create-resource-hooks";
4
4
  import { useSDK } from "../../providers/sdk-provider";
5
5
 
6
6
  export const TAXES_CACHE_KEY = "taxes";
7
7
 
8
- const { useCreateResource: useCreateTax, useDeleteResource: useDeleteTax } = createResourceHooks<
9
- Tax,
10
- CreateTaxBody,
11
- never
12
- >("taxes", TAXES_CACHE_KEY);
8
+ const {
9
+ useCreateResource: useCreateTax,
10
+ useUpdateResource: useUpdateTax,
11
+ useDeleteResource: useDeleteTax,
12
+ useRestoreResource: useRestoreTax,
13
+ usePermanentDeleteResource: usePermanentDeleteTax,
14
+ } = createResourceHooks<Tax, CreateTaxBody, UpdateTaxBody>("taxes", TAXES_CACHE_KEY, {
15
+ restoreMethodName: "restoreTax",
16
+ permanentDeleteMethodName: "permanentDeleteTax",
17
+ });
13
18
 
14
- export { useCreateTax, useDeleteTax };
19
+ export { useCreateTax, useUpdateTax, useDeleteTax, useRestoreTax, usePermanentDeleteTax };
15
20
 
16
21
  /**
17
22
  * Hook to fetch all taxes for an entity
@@ -18,9 +18,9 @@ function TooltipProvider({
18
18
  )
19
19
  }
20
20
 
21
- function Tooltip({ ...props }: TooltipPrimitive.Root.Props) {
21
+ function Tooltip({ delayDuration, ...props }: TooltipPrimitive.Root.Props & { delayDuration?: number }) {
22
22
  return (
23
- <TooltipProvider>
23
+ <TooltipProvider delay={delayDuration}>
24
24
  <TooltipPrimitive.Root data-slot="tooltip" {...props} />
25
25
  </TooltipProvider>
26
26
  )
@@ -160,6 +160,7 @@ export function UsageBadge() {
160
160
  function getDefaultLockedMessage(feature: GatedFeature): string {
161
161
  const messages: Record<GatedFeature, string> = {
162
162
  furs: "FURS fiscalization requires a Starter or Advanced plan",
163
+ fina: "FINA fiscalization requires a Starter or Advanced plan",
163
164
  eslog: "eSlog export requires a Starter or Advanced plan",
164
165
  recurring: "Recurring invoices require a Starter or Advanced plan",
165
166
  email_sending: "Email sending requires a Starter or Advanced plan",
@@ -170,6 +170,7 @@ function PlanIcon({ slug }: { slug: string }) {
170
170
  function getFeatureDisplayName(feature: GatedFeature): string {
171
171
  const names: Record<GatedFeature, string> = {
172
172
  furs: "FURS Fiscalization",
173
+ fina: "FINA Fiscalization",
173
174
  eslog: "eSlog Export",
174
175
  recurring: "Recurring Invoices",
175
176
  email_sending: "Email Sending",
@@ -0,0 +1,17 @@
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 acceptentityinvitation_body endpoints
10
+
11
+ // Dependency schema for acceptentityinvitation_body
12
+ const acceptEntityInvitation_Body = z.object({
13
+ name: z.string().min(1).max(255),
14
+ password: z.string().min(8),
15
+ });
16
+
17
+
@@ -0,0 +1,18 @@
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 addentityuser_body endpoints
10
+
11
+ // Dependency schema for addentityuser_body
12
+ const addEntityUser_Body = z.object({
13
+ email: z.string().email(),
14
+ role: z.enum(["viewer", "editor", "admin"]).optional().default("editor"),
15
+ send_invite: z.boolean().optional().default(true),
16
+ });
17
+
18
+
@@ -34,6 +34,8 @@ const createAdvanceInvoiceSchemaDefinition = z.object({
34
34
  country: z.union([z.string(), z.null()]),
35
35
  country_code: z.union([z.string(), z.null()]),
36
36
  tax_number: z.union([z.string(), z.null()]),
37
+ tax_number_2: z.union([z.string(), z.null()]),
38
+ company_number: z.union([z.string(), z.null()]),
37
39
  bank_account: z.union([
38
40
  z
39
41
  .object({
@@ -71,6 +73,8 @@ const createAdvanceInvoiceSchemaDefinition = z.object({
71
73
  country: z.union([z.string(), z.null()]),
72
74
  country_code: z.union([z.string(), z.null()]),
73
75
  tax_number: z.union([z.string(), z.null()]),
76
+ tax_number_2: z.union([z.string(), z.null()]),
77
+ company_number: z.union([z.string(), z.null()]),
74
78
  bank_account: z.union([
75
79
  z
76
80
  .object({
@@ -97,7 +101,7 @@ const createAdvanceInvoiceSchemaDefinition = z.object({
97
101
  ])
98
102
  .optional(),
99
103
  note: z.union([z.string(), z.null()]).optional(),
100
- payment_terms: z.union([z.string(), z.null()]).optional(),
104
+ tax_clause: z.union([z.string(), z.null()]).optional(),
101
105
  currency_code: z.string().max(3).optional(),
102
106
  metadata: z.union([z.record(z.string(), z.any()), z.null()]).optional(),
103
107
  date_due: z.union([z.string(), z.null()]).optional(),
@@ -106,7 +110,7 @@ const createAdvanceInvoiceSchemaDefinition = z.object({
106
110
  items: z
107
111
  .array(
108
112
  z.object({
109
- name: z.string().min(1),
113
+ name: z.string().min(1).optional(),
110
114
  description: z.union([z.string().max(4000, "Description must not exceed 4000 characters"), z.null()]).optional(),
111
115
  price: z.number().optional(),
112
116
  gross_price: z.number().optional(),
@@ -137,21 +141,23 @@ const createAdvanceInvoiceSchemaDefinition = z.object({
137
141
  z.null(),
138
142
  ])
139
143
  .optional(),
144
+ item_id: z.string().optional(),
140
145
  })
141
146
  )
142
147
  .min(1),
143
148
  linked_documents: z.array(z.string().min(1)).optional(),
144
- payment: z
149
+ payments: z
145
150
  .union([
146
- z.object({
147
- advance_invoice_id: z.union([z.string(), z.null()]).optional(),
148
- amount: z.number().gt(0).optional(),
149
- type: z.string().max(20),
150
- date: z.string().optional(),
151
- reference: z.union([z.string(), z.null()]).optional(),
152
- note: z.union([z.string(), z.null()]).optional(),
153
- metadata: z.union([z.record(z.string(), z.any()), z.null()]).optional(),
154
- }),
151
+ z.array(
152
+ z.object({
153
+ amount: z.number().gt(0).optional(),
154
+ type: z.string().max(20),
155
+ date: z.string().optional(),
156
+ reference: z.union([z.string(), z.null()]).optional(),
157
+ note: z.union([z.string(), z.null()]).optional(),
158
+ metadata: z.union([z.record(z.string(), z.any()), z.null()]).optional(),
159
+ })
160
+ ),
155
161
  z.null(),
156
162
  ])
157
163
  .optional(),
@@ -169,9 +175,175 @@ const createAdvanceInvoiceSchemaDefinition = z.object({
169
175
  z.null(),
170
176
  ])
171
177
  .optional(),
178
+ fina: z
179
+ .union([
180
+ z
181
+ .object({
182
+ premise_id: z
183
+ .string()
184
+ .min(1)
185
+ .max(20)
186
+ .regex(/^[0-9a-zA-Z]{1,20}$/),
187
+ device_id: z
188
+ .string()
189
+ .min(1)
190
+ .max(20)
191
+ .regex(/^\d{1,20}$/),
192
+ operator_oib: z.string().min(11).max(11),
193
+ is_end_consumer: z.boolean(),
194
+ payment_type: z.enum([
195
+ "cash",
196
+ "card",
197
+ "online",
198
+ "bank_transfer",
199
+ "paypal",
200
+ "crypto",
201
+ "coupon",
202
+ "other",
203
+ ]),
204
+ subsequent_submit: z.boolean(),
205
+ })
206
+ .partial(),
207
+ z.null(),
208
+ ])
209
+ .optional(),
210
+ expected_total_with_tax: z.number().gt(0).optional(),
172
211
  });
173
212
 
174
213
  // Type for create advanceinvoice operation
175
214
  export type CreateAdvanceInvoiceSchema = z.infer<typeof createAdvanceInvoiceSchemaDefinition>;
176
215
 
216
+
217
+ // Schema for update advanceinvoice operation
218
+ const updateAdvanceInvoiceSchemaDefinition = z
219
+ .object({
220
+ date: z
221
+ .string()
222
+ .regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?)?$/),
223
+ issuer: z
224
+ .object({
225
+ name: z.union([z.string(), z.null()]),
226
+ email: z.union([z.string(), z.null()]),
227
+ address: z.union([z.string(), z.null()]),
228
+ address_2: z.union([z.string(), z.null()]),
229
+ post_code: z.union([z.string(), z.null()]),
230
+ city: z.union([z.string(), z.null()]),
231
+ state: z.union([z.string(), z.null()]),
232
+ country: z.union([z.string(), z.null()]),
233
+ country_code: z.union([z.string(), z.null()]),
234
+ tax_number: z.union([z.string(), z.null()]),
235
+ tax_number_2: z.union([z.string(), z.null()]),
236
+ company_number: z.union([z.string(), z.null()]),
237
+ bank_account: z.union([
238
+ z
239
+ .object({
240
+ type: z
241
+ .enum(["iban", "us_domestic", "uk_domestic", "other"])
242
+ .default("iban"),
243
+ name: z.string(),
244
+ bank_name: z.string(),
245
+ iban: z.string(),
246
+ account_number: z.string(),
247
+ bic: z.string(),
248
+ routing_number: z.string(),
249
+ sort_code: z.string(),
250
+ })
251
+ .partial()
252
+ .passthrough(),
253
+ z.null(),
254
+ ]),
255
+ })
256
+ .partial()
257
+ .passthrough(),
258
+ customer_id: z.union([z.string(), z.null()]),
259
+ customer: z.union([
260
+ z
261
+ .object({
262
+ name: z.union([z.string(), z.null()]),
263
+ email: z.union([z.string(), z.null()]),
264
+ address: z.union([z.string(), z.null()]),
265
+ address_2: z.union([z.string(), z.null()]),
266
+ post_code: z.union([z.string(), z.null()]),
267
+ city: z.union([z.string(), z.null()]),
268
+ state: z.union([z.string(), z.null()]),
269
+ country: z.union([z.string(), z.null()]),
270
+ country_code: z.union([z.string(), z.null()]),
271
+ tax_number: z.union([z.string(), z.null()]),
272
+ tax_number_2: z.union([z.string(), z.null()]),
273
+ company_number: z.union([z.string(), z.null()]),
274
+ bank_account: z.union([
275
+ z
276
+ .object({
277
+ type: z
278
+ .enum(["iban", "us_domestic", "uk_domestic", "other"])
279
+ .default("iban"),
280
+ name: z.string(),
281
+ bank_name: z.string(),
282
+ iban: z.string(),
283
+ account_number: z.string(),
284
+ bic: z.string(),
285
+ routing_number: z.string(),
286
+ sort_code: z.string(),
287
+ })
288
+ .partial()
289
+ .passthrough(),
290
+ z.null(),
291
+ ]),
292
+ save_customer: z.boolean().default(true),
293
+ })
294
+ .partial()
295
+ .passthrough(),
296
+ z.null(),
297
+ ]),
298
+ items: z
299
+ .array(
300
+ z.object({
301
+ name: z.string().min(1).optional(),
302
+ description: z.union([z.string().max(4000, "Description must not exceed 4000 characters"), z.null()]).optional(),
303
+ price: z.number().optional(),
304
+ gross_price: z.number().optional(),
305
+ quantity: z.number().gte(-140737488355328).lte(140737488355327),
306
+ unit: z.union([z.string(), z.null()]).optional(),
307
+ taxes: z
308
+ .array(
309
+ z
310
+ .object({
311
+ rate: z.number(),
312
+ tax_id: z.string(),
313
+ classification: z.string(),
314
+ reverse_charge: z.boolean(),
315
+ amount: z.number(),
316
+ })
317
+ .partial()
318
+ )
319
+ .optional(),
320
+ discounts: z.array(LineDiscount).max(5).optional(),
321
+ metadata: z
322
+ .union([
323
+ z.string(),
324
+ z.number(),
325
+ z.boolean(),
326
+ z.null(),
327
+ z.object({}).partial().passthrough(),
328
+ z.array(z.unknown()),
329
+ z.null(),
330
+ ])
331
+ .optional(),
332
+ item_id: z.string().optional(),
333
+ })
334
+ )
335
+ .min(1),
336
+ note: z.union([z.string(), z.null()]),
337
+ currency_code: z.string(),
338
+ metadata: z.union([z.object({}).partial().passthrough(), z.null()]),
339
+ change_reason: z.string().max(500),
340
+ date_due: z.union([z.string(), z.null()]),
341
+ linked_documents: z.array(z.string().min(1)),
342
+ })
343
+ .partial();
344
+
345
+ // Type for update advanceinvoice operation
346
+ export type UpdateAdvanceInvoiceSchema = z.infer<typeof updateAdvanceInvoiceSchemaDefinition>;
347
+
177
348
  export const createAdvanceInvoiceSchema = createAdvanceInvoiceSchemaDefinition;
349
+ export const updateAdvanceInvoiceSchema = updateAdvanceInvoiceSchemaDefinition;
@@ -15,50 +15,49 @@ const LineDiscount = z.object({
15
15
  });
16
16
 
17
17
 
18
- // Schema for create creditnote operation
19
- const createCreditNoteSchemaDefinition = z.object({
20
- is_draft: z.boolean().optional(),
21
- date: z
22
- .string()
23
- .regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?)?$/)
24
- .optional(),
25
- issuer: z
26
- .object({
27
- name: z.union([z.string(), z.null()]),
28
- email: z.union([z.string(), z.null()]),
29
- address: z.union([z.string(), z.null()]),
30
- address_2: z.union([z.string(), z.null()]),
31
- post_code: z.union([z.string(), z.null()]),
32
- city: z.union([z.string(), z.null()]),
33
- state: z.union([z.string(), z.null()]),
34
- country: z.union([z.string(), z.null()]),
35
- country_code: z.union([z.string(), z.null()]),
36
- tax_number: z.union([z.string(), z.null()]),
37
- bank_account: z.union([
38
- z
39
- .object({
40
- type: z
41
- .enum(["iban", "us_domestic", "uk_domestic", "other"])
42
- .default("iban"),
43
- name: z.string(),
44
- bank_name: z.string(),
45
- iban: z.string(),
46
- account_number: z.string(),
47
- bic: z.string(),
48
- routing_number: z.string(),
49
- sort_code: z.string(),
50
- })
51
- .partial()
52
- .passthrough(),
53
- z.null(),
54
- ]),
55
- })
56
- .partial()
57
- .passthrough()
58
- .optional(),
59
- customer_id: z.union([z.string(), z.null()]).optional(),
60
- customer: z
61
- .union([
18
+ // Schema for update creditnote operation
19
+ const updateCreditNoteSchemaDefinition = z
20
+ .object({
21
+ date: z
22
+ .string()
23
+ .regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?)?$/),
24
+ issuer: z
25
+ .object({
26
+ name: z.union([z.string(), z.null()]),
27
+ email: z.union([z.string(), z.null()]),
28
+ address: z.union([z.string(), z.null()]),
29
+ address_2: z.union([z.string(), z.null()]),
30
+ post_code: z.union([z.string(), z.null()]),
31
+ city: z.union([z.string(), z.null()]),
32
+ state: z.union([z.string(), z.null()]),
33
+ country: z.union([z.string(), z.null()]),
34
+ country_code: z.union([z.string(), z.null()]),
35
+ tax_number: z.union([z.string(), z.null()]),
36
+ tax_number_2: z.union([z.string(), z.null()]),
37
+ company_number: z.union([z.string(), z.null()]),
38
+ bank_account: z.union([
39
+ z
40
+ .object({
41
+ type: z
42
+ .enum(["iban", "us_domestic", "uk_domestic", "other"])
43
+ .default("iban"),
44
+ name: z.string(),
45
+ bank_name: z.string(),
46
+ iban: z.string(),
47
+ account_number: z.string(),
48
+ bic: z.string(),
49
+ routing_number: z.string(),
50
+ sort_code: z.string(),
51
+ })
52
+ .partial()
53
+ .passthrough(),
54
+ z.null(),
55
+ ]),
56
+ })
57
+ .partial()
58
+ .passthrough(),
59
+ customer_id: z.union([z.string(), z.null()]),
60
+ customer: z.union([
62
61
  z
63
62
  .object({
64
63
  name: z.union([z.string(), z.null()]),
@@ -71,6 +70,8 @@ const createCreditNoteSchemaDefinition = z.object({
71
70
  country: z.union([z.string(), z.null()]),
72
71
  country_code: z.union([z.string(), z.null()]),
73
72
  tax_number: z.union([z.string(), z.null()]),
73
+ tax_number_2: z.union([z.string(), z.null()]),
74
+ company_number: z.union([z.string(), z.null()]),
74
75
  bank_account: z.union([
75
76
  z
76
77
  .object({
@@ -94,94 +95,65 @@ const createCreditNoteSchemaDefinition = z.object({
94
95
  .partial()
95
96
  .passthrough(),
96
97
  z.null(),
97
- ])
98
- .optional(),
99
- note: z.union([z.string(), z.null()]).optional(),
100
- payment_terms: z.union([z.string(), z.null()]).optional(),
101
- currency_code: z.string().max(3).optional(),
102
- metadata: z.union([z.record(z.string(), z.any()), z.null()]).optional(),
103
- date_due: z.union([z.string(), z.null()]).optional(),
104
- date_service: z.union([z.string(), z.null()]).optional(),
105
- date_service_to: z.union([z.string(), z.null()]).optional(),
106
- items: z
107
- .array(
108
- z.object({
109
- name: z.string().min(1),
110
- description: z.union([z.string().max(4000, "Description must not exceed 4000 characters"), z.null()]).optional(),
111
- price: z.number().optional(),
112
- gross_price: z.number().optional(),
113
- quantity: z.number().gte(-140737488355328).lte(140737488355327),
114
- unit: z.union([z.string(), z.null()]).optional(),
115
- taxes: z
116
- .array(
117
- z
118
- .object({
119
- rate: z.number(),
120
- tax_id: z.string(),
121
- classification: z.string(),
122
- reverse_charge: z.boolean(),
123
- amount: z.number(),
124
- })
125
- .partial()
126
- )
127
- .optional(),
128
- discounts: z.array(LineDiscount).max(5).optional(),
129
- metadata: z
130
- .union([
131
- z.string(),
132
- z.number(),
133
- z.boolean(),
134
- z.null(),
135
- z.object({}).partial().passthrough(),
136
- z.array(z.unknown()),
137
- z.null(),
138
- ])
139
- .optional(),
140
- })
141
- )
142
- .min(1),
143
- linked_documents: z.array(z.string().min(1)).optional(),
144
- payment: z
145
- .union([
146
- z.object({
147
- credit_note_id: z.union([z.string(), z.null()]).optional(),
148
- advance_invoice_id: z.union([z.string(), z.null()]).optional(),
149
- amount: z.number().gt(0).optional(),
150
- type: z.string().max(20),
151
- date: z.string().optional(),
152
- reference: z.union([z.string(), z.null()]).optional(),
153
- note: z.union([z.string(), z.null()]).optional(),
154
- metadata: z.union([z.record(z.string(), z.any()), z.null()]).optional(),
155
- }),
156
- z.null(),
157
- ])
158
- .optional(),
159
- furs: z
160
- .union([
161
- z
162
- .object({
163
- business_premise_name: z.string().min(1),
164
- electronic_device_name: z.string().min(1),
165
- operator_tax_number: z.string(),
166
- operator_label: z.string(),
167
- skip: z.boolean(),
98
+ ]),
99
+ items: z
100
+ .array(
101
+ z.object({
102
+ name: z.string().min(1).optional(),
103
+ description: z.union([z.string().max(4000, "Description must not exceed 4000 characters"), z.null()]).optional(),
104
+ price: z.number().optional(),
105
+ gross_price: z.number().optional(),
106
+ quantity: z.number().gte(-140737488355328).lte(140737488355327),
107
+ unit: z.union([z.string(), z.null()]).optional(),
108
+ taxes: z
109
+ .array(
110
+ z
111
+ .object({
112
+ rate: z.number(),
113
+ tax_id: z.string(),
114
+ classification: z.string(),
115
+ reverse_charge: z.boolean(),
116
+ amount: z.number(),
117
+ })
118
+ .partial()
119
+ )
120
+ .optional(),
121
+ discounts: z.array(LineDiscount).max(5).optional(),
122
+ metadata: z
123
+ .union([
124
+ z.string(),
125
+ z.number(),
126
+ z.boolean(),
127
+ z.null(),
128
+ z.object({}).partial().passthrough(),
129
+ z.array(z.unknown()),
130
+ z.null(),
131
+ ])
132
+ .optional(),
133
+ item_id: z.string().optional(),
168
134
  })
169
- .partial(),
170
- z.null(),
171
- ])
172
- .optional(),
173
- eslog: z
174
- .union([
135
+ )
136
+ .min(1),
137
+ note: z.union([z.string(), z.null()]),
138
+ payment_terms: z.union([z.string(), z.null()]),
139
+ currency_code: z.string(),
140
+ metadata: z.union([z.object({}).partial().passthrough(), z.null()]),
141
+ change_reason: z.string().max(500),
142
+ linked_documents: z.array(z.string().min(1)),
143
+ eslog: z.union([
175
144
  z
176
145
  .object({ validation_enabled: z.union([z.boolean(), z.null()]) })
177
146
  .partial()
178
147
  .passthrough(),
179
148
  z.null(),
180
- ])
181
- .optional(),
182
- });
149
+ ]),
150
+ })
151
+ .partial();
152
+
153
+ // Type for update creditnote operation
154
+ export type UpdateCreditNoteSchema = z.infer<typeof updateCreditNoteSchemaDefinition>;
183
155
 
184
- // Type for create creditnote operation
185
- export type CreateCreditNoteSchema = z.infer<typeof createCreditNoteSchemaDefinition>;
156
+ export const updateCreditNoteSchema = updateCreditNoteSchemaDefinition;
186
157
 
187
- export const createCreditNoteSchema = createCreditNoteSchemaDefinition;
158
+ // Re-export invoice create schema as credit note create schema (same body structure)
159
+ export { createInvoiceSchema as createCreditNoteSchema, type CreateInvoiceSchema as CreateCreditNoteSchema } from './invoice';