@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
@@ -14,6 +14,7 @@ export default {
14
14
  "Unshare failed": "Freigabe aufheben fehlgeschlagen",
15
15
  "Download failed": "Download fehlgeschlagen",
16
16
  "e-SLOG download failed": "e-SLOG Download fehlgeschlagen",
17
+ Recurring: "Wiederkehrend",
17
18
  Duplicate: "Duplizieren",
18
19
  "Duplicate invoice": "Rechnung duplizieren",
19
20
  "Duplicate estimate": "Angebot duplizieren",
@@ -83,6 +84,10 @@ export default {
83
84
  "Delete draft failed": "Entwurf löschen fehlgeschlagen",
84
85
  Draft: "Entwurf",
85
86
 
87
+ // Void
88
+ Void: "Stornieren",
89
+ "Voiding...": "Stornierung...",
90
+
86
91
  // Activity list
87
92
  Activity: "Aktivität",
88
93
  "No activity": "Keine Aktivität",
@@ -114,4 +119,25 @@ export default {
114
119
  Dutch: "Niederländisch",
115
120
  Polish: "Polnisch",
116
121
  Croatian: "Kroatisch",
122
+
123
+ // Linked documents
124
+ "Linked documents": "Verknüpfte Dokumente",
125
+ "No linked documents": "Keine verknüpften Dokumente",
126
+ Invoice: "Rechnung",
127
+ Estimate: "Angebot",
128
+ "Credit note": "Gutschrift",
129
+ "Advance invoice": "Anzahlungsrechnung",
130
+ "Delivery note": "Lieferschein",
131
+ "Credit for": "Gutschrift für",
132
+ "Converted from": "Konvertiert von",
133
+ "Converted to": "Konvertiert zu",
134
+ "Has credit": "Hat Gutschrift",
135
+ "Advance applied": "Anzahlung angewendet",
136
+ "Applied to": "Angewendet auf",
137
+ "Delivered for": "Geliefert für",
138
+ "Has delivery": "Hat Lieferschein",
139
+ Fulfills: "Erfüllt",
140
+ "Fulfilled by": "Erfüllt durch",
141
+ References: "Verweist auf",
142
+ View: "Ansehen",
117
143
  } as const;
@@ -13,6 +13,7 @@ export default {
13
13
  "Unshare failed": "Error al dejar de compartir",
14
14
  "Download failed": "Error en la descarga",
15
15
  "e-SLOG download failed": "Error en la descarga e-SLOG",
16
+ Recurring: "Recurrente",
16
17
  Duplicate: "Duplicar",
17
18
  "Duplicate invoice": "Duplicar factura",
18
19
  "Duplicate estimate": "Duplicar presupuesto",
@@ -81,6 +82,10 @@ export default {
81
82
  "Delete draft failed": "Error al eliminar el borrador",
82
83
  Draft: "Borrador",
83
84
 
85
+ // Void
86
+ Void: "Anular",
87
+ "Voiding...": "Anulando...",
88
+
84
89
  // Activity list
85
90
  Activity: "Actividad",
86
91
  "No activity": "Sin actividad",
@@ -112,4 +117,25 @@ export default {
112
117
  Dutch: "Neerlandés",
113
118
  Polish: "Polaco",
114
119
  Croatian: "Croata",
120
+
121
+ // Linked documents
122
+ "Linked documents": "Documentos vinculados",
123
+ "No linked documents": "Sin documentos vinculados",
124
+ Invoice: "Factura",
125
+ Estimate: "Presupuesto",
126
+ "Credit note": "Nota de crédito",
127
+ "Advance invoice": "Factura anticipada",
128
+ "Delivery note": "Albarán",
129
+ "Credit for": "Crédito para",
130
+ "Converted from": "Convertido desde",
131
+ "Converted to": "Convertido a",
132
+ "Has credit": "Tiene crédito",
133
+ "Advance applied": "Anticipo aplicado",
134
+ "Applied to": "Aplicado a",
135
+ "Delivered for": "Entregado para",
136
+ "Has delivery": "Tiene albarán",
137
+ Fulfills: "Cumple",
138
+ "Fulfilled by": "Cumplido por",
139
+ References: "Referencia",
140
+ View: "Ver",
115
141
  } as const;
@@ -13,6 +13,7 @@ export default {
13
13
  "Unshare failed": "Échec de l'annulation du partage",
14
14
  "Download failed": "Échec du téléchargement",
15
15
  "e-SLOG download failed": "Échec du téléchargement e-SLOG",
16
+ Recurring: "Récurrent",
16
17
  Duplicate: "Dupliquer",
17
18
  "Duplicate invoice": "Dupliquer la facture",
18
19
  "Duplicate estimate": "Dupliquer le devis",
@@ -81,6 +82,10 @@ export default {
81
82
  "Delete draft failed": "Échec de la suppression du brouillon",
82
83
  Draft: "Brouillon",
83
84
 
85
+ // Void
86
+ Void: "Annuler",
87
+ "Voiding...": "Annulation...",
88
+
84
89
  // Activity list
85
90
  Activity: "Activité",
86
91
  "No activity": "Aucune activité",
@@ -112,4 +117,25 @@ export default {
112
117
  Dutch: "Néerlandais",
113
118
  Polish: "Polonais",
114
119
  Croatian: "Croate",
120
+
121
+ // Linked documents
122
+ "Linked documents": "Documents liés",
123
+ "No linked documents": "Aucun document lié",
124
+ Invoice: "Facture",
125
+ Estimate: "Devis",
126
+ "Credit note": "Avoir",
127
+ "Advance invoice": "Facture d'acompte",
128
+ "Delivery note": "Bon de livraison",
129
+ "Credit for": "Avoir pour",
130
+ "Converted from": "Converti depuis",
131
+ "Converted to": "Converti en",
132
+ "Has credit": "A un avoir",
133
+ "Advance applied": "Acompte appliqué",
134
+ "Applied to": "Appliqué à",
135
+ "Delivered for": "Livré pour",
136
+ "Has delivery": "A un bon de livraison",
137
+ Fulfills: "Remplit",
138
+ "Fulfilled by": "Rempli par",
139
+ References: "Référence",
140
+ View: "Voir",
115
141
  } as const;
@@ -13,6 +13,7 @@ export default {
13
13
  "Unshare failed": "Uklanjanje dijeljenja nije uspjelo",
14
14
  "Download failed": "Preuzimanje nije uspjelo",
15
15
  "e-SLOG download failed": "Preuzimanje e-SLOG nije uspjelo",
16
+ Recurring: "Ponavljajuće",
16
17
  Duplicate: "Dupliciraj",
17
18
  "Duplicate invoice": "Dupliciraj račun",
18
19
  "Duplicate estimate": "Dupliciraj ponudu",
@@ -81,6 +82,10 @@ export default {
81
82
  "Delete draft failed": "Brisanje nacrta nije uspjelo",
82
83
  Draft: "Nacrt",
83
84
 
85
+ // Void
86
+ Void: "Storniraj",
87
+ "Voiding...": "Storniranje...",
88
+
84
89
  // Activity list
85
90
  Activity: "Aktivnost",
86
91
  "No activity": "Nema aktivnosti",
@@ -112,4 +117,25 @@ export default {
112
117
  Dutch: "Nizozemski",
113
118
  Polish: "Poljski",
114
119
  Croatian: "Hrvatski",
120
+
121
+ // Linked documents
122
+ "Linked documents": "Povezani dokumenti",
123
+ "No linked documents": "Nema povezanih dokumenata",
124
+ Invoice: "Račun",
125
+ Estimate: "Ponuda",
126
+ "Credit note": "Knjižno odobrenje",
127
+ "Advance invoice": "Avansni račun",
128
+ "Delivery note": "Otpremnica",
129
+ "Credit for": "Odobrenje za",
130
+ "Converted from": "Pretvoreno iz",
131
+ "Converted to": "Pretvoreno u",
132
+ "Has credit": "Ima odobrenje",
133
+ "Advance applied": "Avans primijenjen",
134
+ "Applied to": "Primijenjeno na",
135
+ "Delivered for": "Dostavljeno za",
136
+ "Has delivery": "Ima otpremnicu",
137
+ Fulfills: "Ispunjava",
138
+ "Fulfilled by": "Ispunjeno od",
139
+ References: "Upućuje na",
140
+ View: "Pogledaj",
115
141
  } as const;
@@ -13,6 +13,7 @@ export default {
13
13
  "Unshare failed": "Rimozione condivisione fallita",
14
14
  "Download failed": "Download fallito",
15
15
  "e-SLOG download failed": "Download e-SLOG fallito",
16
+ Recurring: "Ricorrente",
16
17
  Duplicate: "Duplica",
17
18
  "Duplicate invoice": "Duplica fattura",
18
19
  "Duplicate estimate": "Duplica preventivo",
@@ -81,6 +82,10 @@ export default {
81
82
  "Delete draft failed": "Eliminazione bozza fallita",
82
83
  Draft: "Bozza",
83
84
 
85
+ // Void
86
+ Void: "Annulla",
87
+ "Voiding...": "Annullamento...",
88
+
84
89
  // Activity list
85
90
  Activity: "Attività",
86
91
  "No activity": "Nessuna attività",
@@ -112,4 +117,25 @@ export default {
112
117
  Dutch: "Olandese",
113
118
  Polish: "Polacco",
114
119
  Croatian: "Croato",
120
+
121
+ // Linked documents
122
+ "Linked documents": "Documenti collegati",
123
+ "No linked documents": "Nessun documento collegato",
124
+ Invoice: "Fattura",
125
+ Estimate: "Preventivo",
126
+ "Credit note": "Nota di credito",
127
+ "Advance invoice": "Fattura di acconto",
128
+ "Delivery note": "Bolla di consegna",
129
+ "Credit for": "Credito per",
130
+ "Converted from": "Convertito da",
131
+ "Converted to": "Convertito in",
132
+ "Has credit": "Ha credito",
133
+ "Advance applied": "Acconto applicato",
134
+ "Applied to": "Applicato a",
135
+ "Delivered for": "Consegnato per",
136
+ "Has delivery": "Ha bolla di consegna",
137
+ Fulfills: "Adempie",
138
+ "Fulfilled by": "Adempiuto da",
139
+ References: "Riferisce a",
140
+ View: "Visualizza",
115
141
  } as const;
@@ -13,6 +13,7 @@ export default {
13
13
  "Unshare failed": "Opheffen van delen mislukt",
14
14
  "Download failed": "Download mislukt",
15
15
  "e-SLOG download failed": "e-SLOG download mislukt",
16
+ Recurring: "Terugkerend",
16
17
  Duplicate: "Dupliceren",
17
18
  "Duplicate invoice": "Factuur dupliceren",
18
19
  "Duplicate estimate": "Offerte dupliceren",
@@ -82,6 +83,10 @@ export default {
82
83
  "Delete draft failed": "Verwijderen van concept mislukt",
83
84
  Draft: "Concept",
84
85
 
86
+ // Void
87
+ Void: "Nietig verklaren",
88
+ "Voiding...": "Nietig verklaren...",
89
+
85
90
  // Activity list
86
91
  Activity: "Activiteit",
87
92
  "No activity": "Geen activiteit",
@@ -113,4 +118,25 @@ export default {
113
118
  Dutch: "Nederlands",
114
119
  Polish: "Pools",
115
120
  Croatian: "Kroatisch",
121
+
122
+ // Linked documents
123
+ "Linked documents": "Gekoppelde documenten",
124
+ "No linked documents": "Geen gekoppelde documenten",
125
+ Invoice: "Factuur",
126
+ Estimate: "Offerte",
127
+ "Credit note": "Creditnota",
128
+ "Advance invoice": "Voorschotfactuur",
129
+ "Delivery note": "Afleverbon",
130
+ "Credit for": "Creditering voor",
131
+ "Converted from": "Geconverteerd van",
132
+ "Converted to": "Geconverteerd naar",
133
+ "Has credit": "Heeft creditering",
134
+ "Advance applied": "Voorschot toegepast",
135
+ "Applied to": "Toegepast op",
136
+ "Delivered for": "Geleverd voor",
137
+ "Has delivery": "Heeft afleverbon",
138
+ Fulfills: "Vervult",
139
+ "Fulfilled by": "Vervuld door",
140
+ References: "Verwijst naar",
141
+ View: "Bekijken",
116
142
  } as const;
@@ -13,6 +13,7 @@ export default {
13
13
  "Unshare failed": "Cofnięcie udostępnienia nie powiodło się",
14
14
  "Download failed": "Pobieranie nie powiodło się",
15
15
  "e-SLOG download failed": "Pobieranie e-SLOG nie powiodło się",
16
+ Recurring: "Cykliczna",
16
17
  Duplicate: "Duplikuj",
17
18
  "Duplicate invoice": "Duplikuj fakturę",
18
19
  "Duplicate estimate": "Duplikuj kosztorys",
@@ -81,6 +82,10 @@ export default {
81
82
  "Delete draft failed": "Usunięcie szkicu nie powiodło się",
82
83
  Draft: "Szkic",
83
84
 
85
+ // Void
86
+ Void: "Anuluj",
87
+ "Voiding...": "Anulowanie...",
88
+
84
89
  // Activity list
85
90
  Activity: "Aktywność",
86
91
  "No activity": "Brak aktywności",
@@ -112,4 +117,25 @@ export default {
112
117
  Dutch: "Niderlandzki",
113
118
  Polish: "Polski",
114
119
  Croatian: "Chorwacki",
120
+
121
+ // Linked documents
122
+ "Linked documents": "Powiązane dokumenty",
123
+ "No linked documents": "Brak powiązanych dokumentów",
124
+ Invoice: "Faktura",
125
+ Estimate: "Kosztorys",
126
+ "Credit note": "Nota kredytowa",
127
+ "Advance invoice": "Faktura zaliczkowa",
128
+ "Delivery note": "Dowód dostawy",
129
+ "Credit for": "Kredyt dla",
130
+ "Converted from": "Przekonwertowano z",
131
+ "Converted to": "Przekonwertowano na",
132
+ "Has credit": "Ma kredyt",
133
+ "Advance applied": "Zaliczka zastosowana",
134
+ "Applied to": "Zastosowano do",
135
+ "Delivered for": "Dostarczone dla",
136
+ "Has delivery": "Ma dowód dostawy",
137
+ Fulfills: "Realizuje",
138
+ "Fulfilled by": "Zrealizowano przez",
139
+ References: "Odnosi się do",
140
+ View: "Zobacz",
115
141
  } as const;
@@ -13,6 +13,7 @@ export default {
13
13
  "Unshare failed": "Falha ao remover partilha",
14
14
  "Download failed": "Falha no download",
15
15
  "e-SLOG download failed": "Falha no download e-SLOG",
16
+ Recurring: "Recorrente",
16
17
  Duplicate: "Duplicar",
17
18
  "Duplicate invoice": "Duplicar fatura",
18
19
  "Duplicate estimate": "Duplicar orçamento",
@@ -81,6 +82,10 @@ export default {
81
82
  "Delete draft failed": "Falha ao eliminar rascunho",
82
83
  Draft: "Rascunho",
83
84
 
85
+ // Void
86
+ Void: "Anular",
87
+ "Voiding...": "Anulando...",
88
+
84
89
  // Activity list
85
90
  Activity: "Atividade",
86
91
  "No activity": "Sem atividade",
@@ -112,4 +117,25 @@ export default {
112
117
  Dutch: "Neerlandês",
113
118
  Polish: "Polaco",
114
119
  Croatian: "Croata",
120
+
121
+ // Linked documents
122
+ "Linked documents": "Documentos vinculados",
123
+ "No linked documents": "Sem documentos vinculados",
124
+ Invoice: "Fatura",
125
+ Estimate: "Orçamento",
126
+ "Credit note": "Nota de crédito",
127
+ "Advance invoice": "Fatura antecipada",
128
+ "Delivery note": "Guia de remessa",
129
+ "Credit for": "Crédito para",
130
+ "Converted from": "Convertido de",
131
+ "Converted to": "Convertido para",
132
+ "Has credit": "Tem crédito",
133
+ "Advance applied": "Adiantamento aplicado",
134
+ "Applied to": "Aplicado a",
135
+ "Delivered for": "Entregue para",
136
+ "Has delivery": "Tem guia de remessa",
137
+ Fulfills: "Cumpre",
138
+ "Fulfilled by": "Cumprido por",
139
+ References: "Referência",
140
+ View: "Ver",
115
141
  } as const;
@@ -13,6 +13,7 @@ export default {
13
13
  "Unshare failed": "Odstranitev deljenja ni uspela",
14
14
  "Download failed": "Prenos ni uspel",
15
15
  "e-SLOG download failed": "Prenos e-SLOG ni uspel",
16
+ Recurring: "Ponavljajoče",
16
17
  Duplicate: "Podvoji",
17
18
  "Duplicate invoice": "Podvoji račun",
18
19
  "Duplicate estimate": "Podvoji predračun",
@@ -82,6 +83,10 @@ export default {
82
83
  "Delete draft failed": "Brisanje osnutka ni uspelo",
83
84
  Draft: "Osnutek",
84
85
 
86
+ // Void
87
+ Void: "Storniraj",
88
+ "Voiding...": "Storniranje...",
89
+
85
90
  // Activity list
86
91
  Activity: "Aktivnost",
87
92
  "No activity": "Ni aktivnosti",
@@ -113,4 +118,25 @@ export default {
113
118
  Dutch: "Nizozemščina",
114
119
  Polish: "Poljščina",
115
120
  Croatian: "Hrvaščina",
121
+
122
+ // Linked documents
123
+ "Linked documents": "Povezani dokumenti",
124
+ "No linked documents": "Ni povezanih dokumentov",
125
+ Invoice: "Račun",
126
+ Estimate: "Predračun",
127
+ "Credit note": "Dobropis",
128
+ "Advance invoice": "Avansni račun",
129
+ "Delivery note": "Dobavnica",
130
+ "Credit for": "Dobropis za",
131
+ "Converted from": "Pretvorjeno iz",
132
+ "Converted to": "Pretvorjeno v",
133
+ "Has credit": "Ima dobropis",
134
+ "Advance applied": "Avans uporabljen",
135
+ "Applied to": "Uporabljen za",
136
+ "Delivered for": "Dostavljeno za",
137
+ "Has delivery": "Ima dobavnico",
138
+ Fulfills: "Izpolnjuje",
139
+ "Fulfilled by": "Izpolnjeno z",
140
+ References: "Sklicuje se na",
141
+ View: "Poglej",
116
142
  } as const;
@@ -1,10 +1,10 @@
1
- import type { AdvanceInvoice, CreditNote, Estimate, Invoice } from "@spaceinvoices/js-sdk";
1
+ import type { AdvanceInvoice, CreditNote, DeliveryNote, Estimate, Invoice } from "@spaceinvoices/js-sdk";
2
2
  import { useState } from "react";
3
3
  import { useEntities } from "@/ui/providers/entities-context";
4
4
  import { useSDK } from "@/ui/providers/sdk-provider";
5
5
 
6
- type Document = Invoice | Estimate | CreditNote | AdvanceInvoice;
7
- type DocumentType = "invoice" | "estimate" | "credit_note" | "advance_invoice";
6
+ type Document = Invoice | Estimate | CreditNote | AdvanceInvoice | DeliveryNote;
7
+ type DocumentType = "invoice" | "estimate" | "credit_note" | "advance_invoice" | "delivery_note";
8
8
 
9
9
  // Document type labels for PDF filename
10
10
  const TYPE_LABELS: Record<string, string> = {
@@ -12,6 +12,7 @@ const TYPE_LABELS: Record<string, string> = {
12
12
  estimate: "Estimate",
13
13
  credit_note: "Credit Note",
14
14
  advance_invoice: "Advance Invoice",
15
+ delivery_note: "Delivery Note",
15
16
  };
16
17
 
17
18
  interface UseDocumentDownloadOptions {
@@ -90,6 +91,7 @@ export function useDocumentDownload({
90
91
  advance_invoice: "advance_invoice",
91
92
  credit_note: "credit_note",
92
93
  estimate: "estimate",
94
+ delivery_note: "delivery_note",
93
95
  };
94
96
 
95
97
  // e-SLOG download - cast to any since the SDK structure may vary
@@ -47,7 +47,7 @@ export function CreateEntityForm({
47
47
  country: "",
48
48
  tax_number: "",
49
49
  company_number: "",
50
- environment,
50
+ environment: environment as "live" | "sandbox" | undefined,
51
51
  ...extraDefaults,
52
52
  // defaultName takes priority over extraDefaults.name if provided
53
53
  ...(defaultName ? { name: defaultName } : {}),
@@ -74,7 +74,6 @@ const entitySettingsFormSchema = patchEntitySchema
74
74
  .omit({
75
75
  settings: true, // Remove nested settings - we'll flatten them
76
76
  metadata: true, // Not used in this form
77
- environment: true, // Not editable here
78
77
  })
79
78
  .extend({
80
79
  // Flattened settings fields for easier form handling
@@ -85,8 +84,8 @@ const entitySettingsFormSchema = patchEntitySchema
85
84
  message: "Must be a valid hex color (e.g., #5c6ac4)",
86
85
  })
87
86
  .optional(),
88
- has_logo: z.union([z.boolean(), z.null()]).optional(),
89
- has_signature: z.union([z.boolean(), z.null()]).optional(),
87
+ has_logo: z.boolean().nullable().optional(),
88
+ has_signature: z.boolean().nullable().optional(),
90
89
  email: z
91
90
  .union([z.string(), z.null()])
92
91
  .refine((val) => !val || /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(val), {
@@ -1,5 +1,7 @@
1
1
  export default {
2
2
  // Company settings
3
+ "Tax ID 2": "Tax ID 2",
4
+ "Secondary tax identification number (optional)": "Secondary tax identification number (optional)",
3
5
  "Company Information": "Información de la empresa",
4
6
  "Basic information about your company": "Información básica sobre su empresa",
5
7
  // Branding settings
@@ -1,5 +1,7 @@
1
1
  export default {
2
2
  // Company settings
3
+ "Tax ID 2": "Tax ID 2",
4
+ "Secondary tax identification number (optional)": "Secondary tax identification number (optional)",
3
5
  "Company Information": "Informations sur l'entreprise",
4
6
  "Basic information about your company": "Informations de base sur votre entreprise",
5
7
  // Branding settings
@@ -1,5 +1,7 @@
1
1
  export default {
2
2
  // Company settings
3
+ "Tax ID 2": "Tax ID 2",
4
+ "Secondary tax identification number (optional)": "Secondary tax identification number (optional)",
3
5
  "Company Information": "Podaci o tvrtki",
4
6
  "Basic information about your company": "Osnovni podaci o vašoj tvrtki",
5
7
  // Branding settings
@@ -1,5 +1,7 @@
1
1
  export default {
2
2
  // Company settings
3
+ "Tax ID 2": "Tax ID 2",
4
+ "Secondary tax identification number (optional)": "Secondary tax identification number (optional)",
3
5
  "Company Information": "Informazioni aziendali",
4
6
  "Basic information about your company": "Informazioni di base sulla tua azienda",
5
7
  // Branding settings
@@ -1,5 +1,7 @@
1
1
  export default {
2
2
  // Company settings
3
+ "Tax ID 2": "Tax ID 2",
4
+ "Secondary tax identification number (optional)": "Secondary tax identification number (optional)",
3
5
  "Company Information": "Bedrijfsinformatie",
4
6
  "Basic information about your company": "Basisinformatie over uw bedrijf",
5
7
  // Branding settings
@@ -1,5 +1,7 @@
1
1
  export default {
2
2
  // Company settings
3
+ "Tax ID 2": "Tax ID 2",
4
+ "Secondary tax identification number (optional)": "Secondary tax identification number (optional)",
3
5
  "Company Information": "Informacje o firmie",
4
6
  "Basic information about your company": "Podstawowe informacje o Twojej firmie",
5
7
  // Branding settings
@@ -1,5 +1,7 @@
1
1
  export default {
2
2
  // Company settings
3
+ "Tax ID 2": "Tax ID 2",
4
+ "Secondary tax identification number (optional)": "Secondary tax identification number (optional)",
3
5
  "Company Information": "Informações da empresa",
4
6
  "Basic information about your company": "Informações básicas sobre a sua empresa",
5
7
  // Branding settings
@@ -0,0 +1,109 @@
1
+ import { type FC, useState } from "react";
2
+ import { Button } from "@/ui/components/ui/button";
3
+ import {
4
+ Dialog,
5
+ DialogContent,
6
+ DialogDescription,
7
+ DialogFooter,
8
+ DialogHeader,
9
+ DialogTitle,
10
+ } from "@/ui/components/ui/dialog";
11
+ import { Input } from "@/ui/components/ui/input";
12
+ import { useUpdateUserFinaSettings } from "./fina-settings.hooks";
13
+
14
+ interface FinaOperatorRequiredDialogProps {
15
+ open: boolean;
16
+ onOpenChange: (open: boolean) => void;
17
+ entityId: string;
18
+ onSaved: () => void;
19
+ t: (key: string) => string;
20
+ }
21
+
22
+ export const FinaOperatorRequiredDialog: FC<FinaOperatorRequiredDialogProps> = ({
23
+ open,
24
+ onOpenChange,
25
+ entityId,
26
+ onSaved,
27
+ t,
28
+ }) => {
29
+ const [operatorOib, setOperatorOib] = useState("");
30
+ const [operatorLabel, setOperatorLabel] = useState("");
31
+
32
+ const { mutate: updateUserSettings, isPending } = useUpdateUserFinaSettings({
33
+ onSuccess: () => {
34
+ setOperatorOib("");
35
+ setOperatorLabel("");
36
+ onSaved();
37
+ },
38
+ });
39
+
40
+ const handleSubmit = (e: React.FormEvent) => {
41
+ e.preventDefault();
42
+ e.stopPropagation();
43
+ if (!operatorOib || !operatorLabel) return;
44
+ updateUserSettings({
45
+ entityId,
46
+ data: {
47
+ operator_oib: operatorOib,
48
+ operator_label: operatorLabel,
49
+ },
50
+ });
51
+ };
52
+
53
+ const oibError = operatorOib !== "" && !/^\d{11}$/.test(operatorOib);
54
+ const isValid = /^\d{11}$/.test(operatorOib) && operatorLabel.trim() !== "";
55
+
56
+ return (
57
+ <Dialog open={open} onOpenChange={onOpenChange}>
58
+ <DialogContent className="max-w-md">
59
+ <DialogHeader>
60
+ <DialogTitle>{t("FINA Operator Settings Required")}</DialogTitle>
61
+ <DialogDescription>
62
+ {t(
63
+ "Your FINA operator information is needed to fiscalize this document. Please enter your operator details.",
64
+ )}
65
+ </DialogDescription>
66
+ </DialogHeader>
67
+
68
+ <form onSubmit={handleSubmit} className="space-y-4">
69
+ <div>
70
+ <label htmlFor="fina-dialog-operator-oib" className="font-medium text-sm">
71
+ {t("Operator OIB")}
72
+ </label>
73
+ <Input
74
+ id="fina-dialog-operator-oib"
75
+ placeholder="12345678901"
76
+ value={operatorOib}
77
+ onChange={(e) => setOperatorOib(e.target.value.replace(/[^0-9]/g, ""))}
78
+ className={`mt-2 h-10${oibError ? "border-destructive" : ""}`}
79
+ maxLength={11}
80
+ />
81
+ {oibError && <p className="mt-1 text-destructive text-xs">{t("OIB must be exactly 11 digits")}</p>}
82
+ </div>
83
+
84
+ <div>
85
+ <label htmlFor="fina-dialog-operator-label" className="font-medium text-sm">
86
+ {t("Operator Label")}
87
+ </label>
88
+ <Input
89
+ id="fina-dialog-operator-label"
90
+ placeholder={t("e.g. Cashier 1")}
91
+ value={operatorLabel}
92
+ onChange={(e) => setOperatorLabel(e.target.value)}
93
+ className="mt-2 h-10"
94
+ />
95
+ </div>
96
+
97
+ <DialogFooter>
98
+ <Button type="button" variant="outline" onClick={() => onOpenChange(false)} disabled={isPending}>
99
+ {t("Cancel")}
100
+ </Button>
101
+ <Button type="submit" disabled={isPending || !isValid}>
102
+ {isPending ? t("Saving...") : t("Save & Retry")}
103
+ </Button>
104
+ </DialogFooter>
105
+ </form>
106
+ </DialogContent>
107
+ </Dialog>
108
+ );
109
+ };