@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
@@ -10,6 +10,7 @@ import {
10
10
  useQuery,
11
11
  useQueryClient,
12
12
  } from "@tanstack/react-query";
13
+ import { useMemo } from "react";
13
14
  import { useSDK } from "../../../providers/sdk-provider";
14
15
 
15
16
  /**
@@ -20,6 +21,7 @@ export const finaQueryKeys = {
20
21
  premises: (entityId: string) => ["fina", "premises", entityId] as const,
21
22
  premise: (premiseId: string) => ["fina", "premise", premiseId] as const,
22
23
  devices: (premiseId: string) => ["fina", "devices", premiseId] as const,
24
+ currentUser: () => ["user", "me"] as const,
23
25
  };
24
26
 
25
27
  /**
@@ -110,11 +112,9 @@ export function useFinaPremises(entityId: string, options?: Omit<UseQueryOptions
110
112
  }
111
113
 
112
114
  /**
113
- * Hook: Register real estate premise
115
+ * Hook: Create premise (simple, local storage only)
114
116
  */
115
- export function useRegisterFinaRealEstatePremise(
116
- options?: UseMutationOptions<any, Error, { entityId: string; data: any }>,
117
- ) {
117
+ export function useCreateFinaPremise(options?: UseMutationOptions<any, Error, { entityId: string; data: any }>) {
118
118
  const { sdk } = useSDK();
119
119
  const queryClient = useQueryClient();
120
120
 
@@ -122,7 +122,7 @@ export function useRegisterFinaRealEstatePremise(
122
122
  ...options,
123
123
  mutationFn: async ({ entityId, data }) => {
124
124
  if (!sdk) throw new Error("SDK not initialized");
125
- return sdk.finaPremises.registerFinaRealEstatePremise(data, { entity_id: entityId });
125
+ return sdk.finaPremises.create(data, { entity_id: entityId });
126
126
  },
127
127
  onSuccess: (data, variables, context) => {
128
128
  queryClient.invalidateQueries({
@@ -136,19 +136,19 @@ export function useRegisterFinaRealEstatePremise(
136
136
  }
137
137
 
138
138
  /**
139
- * Hook: Register movable premise
139
+ * Hook: Delete (deactivate) premise
140
140
  */
141
- export function useRegisterFinaMovablePremise(
142
- options?: UseMutationOptions<any, Error, { entityId: string; data: any }>,
141
+ export function useDeleteFinaPremise(
142
+ options?: UseMutationOptions<any, Error, { entityId: string; premiseId: string }>,
143
143
  ) {
144
144
  const { sdk } = useSDK();
145
145
  const queryClient = useQueryClient();
146
146
 
147
147
  return useMutation({
148
148
  ...options,
149
- mutationFn: async ({ entityId, data }) => {
149
+ mutationFn: async ({ entityId, premiseId }) => {
150
150
  if (!sdk) throw new Error("SDK not initialized");
151
- return sdk.finaPremises.registerFinaMovablePremise(data, { entity_id: entityId });
151
+ return sdk.finaPremises.delete(premiseId, { entity_id: entityId });
152
152
  },
153
153
  onSuccess: (data, variables, context) => {
154
154
  queryClient.invalidateQueries({
@@ -162,22 +162,27 @@ export function useRegisterFinaMovablePremise(
162
162
  }
163
163
 
164
164
  /**
165
- * Hook: Close premise
165
+ * Hook: Register electronic device
166
166
  */
167
- export function useCloseFinaPremise(options?: UseMutationOptions<any, Error, { entityId: string; premiseId: string }>) {
167
+ export function useRegisterFinaElectronicDevice(
168
+ options?: UseMutationOptions<any, Error, { entityId: string; premiseId: string; deviceId: string }>,
169
+ ) {
168
170
  const { sdk } = useSDK();
169
171
  const queryClient = useQueryClient();
170
172
 
171
173
  return useMutation({
172
174
  ...options,
173
- mutationFn: async ({ entityId, premiseId }) => {
175
+ mutationFn: async ({ entityId, premiseId, deviceId }) => {
174
176
  if (!sdk) throw new Error("SDK not initialized");
175
- return sdk.finaPremises.closeFinaPremise(premiseId, { entity_id: entityId });
177
+ return sdk.finaDevices.registerFinaDevice(premiseId, { device_id: deviceId }, { entity_id: entityId });
176
178
  },
177
179
  onSuccess: (data, variables, context) => {
178
180
  queryClient.invalidateQueries({
179
181
  queryKey: finaQueryKeys.premises(variables.entityId),
180
182
  });
183
+ queryClient.invalidateQueries({
184
+ queryKey: finaQueryKeys.devices(variables.premiseId),
185
+ });
181
186
  if (options?.onSuccess) {
182
187
  (options.onSuccess as (d: any, v: any, c: any) => void)(data, variables, context);
183
188
  }
@@ -186,26 +191,107 @@ export function useCloseFinaPremise(options?: UseMutationOptions<any, Error, { e
186
191
  }
187
192
 
188
193
  /**
189
- * Hook: Register electronic device
194
+ * Hook: Delete (deactivate) device
190
195
  */
191
- export function useRegisterFinaElectronicDevice(
192
- options?: UseMutationOptions<any, Error, { entityId: string; premiseId: string; deviceId: string }>,
196
+ export function useDeleteFinaDevice(
197
+ options?: UseMutationOptions<any, Error, { entityId: string; deviceId: string; premiseId?: string }>,
193
198
  ) {
194
199
  const { sdk } = useSDK();
195
200
  const queryClient = useQueryClient();
196
201
 
197
202
  return useMutation({
198
203
  ...options,
199
- mutationFn: async ({ entityId, premiseId, deviceId }) => {
204
+ mutationFn: async ({ entityId, deviceId }) => {
200
205
  if (!sdk) throw new Error("SDK not initialized");
201
- return sdk.finaDevices.registerFinaDevice(premiseId, { device_id: deviceId }, { entity_id: entityId });
206
+ return sdk.finaDevices.delete(deviceId, { entity_id: entityId });
202
207
  },
203
208
  onSuccess: (data, variables, context) => {
204
209
  queryClient.invalidateQueries({
205
210
  queryKey: finaQueryKeys.premises(variables.entityId),
206
211
  });
212
+ if (variables.premiseId) {
213
+ queryClient.invalidateQueries({
214
+ queryKey: finaQueryKeys.devices(variables.premiseId),
215
+ });
216
+ }
217
+ if (options?.onSuccess) {
218
+ (options.onSuccess as (d: any, v: any, c: any) => void)(data, variables, context);
219
+ }
220
+ },
221
+ });
222
+ }
223
+
224
+ /**
225
+ * User FINA settings type (stored in user.settings as fina_<entity_id>)
226
+ */
227
+ export interface UserFinaSettings {
228
+ operator_oib?: string;
229
+ operator_label?: string;
230
+ }
231
+
232
+ /**
233
+ * Hook: Get current user
234
+ */
235
+ function useCurrentUser(options?: Omit<UseQueryOptions<any>, "queryKey" | "queryFn">) {
236
+ const { sdk } = useSDK();
237
+
238
+ return useQuery({
239
+ queryKey: finaQueryKeys.currentUser(),
240
+ queryFn: async () => {
241
+ if (!sdk) throw new Error("SDK not initialized");
242
+ return sdk.users.getMe();
243
+ },
244
+ enabled: !!sdk,
245
+ staleTime: 1000 * 60 * 5,
246
+ ...options,
247
+ });
248
+ }
249
+
250
+ /**
251
+ * Hook: Get user FINA settings for a specific entity
252
+ * Extracts FINA settings from user.settings using the fina_<entity_id> key
253
+ */
254
+ export function useUserFinaSettings(entityId: string, options?: { enabled?: boolean }) {
255
+ const {
256
+ data: user,
257
+ isLoading,
258
+ error,
259
+ ...rest
260
+ } = useCurrentUser(options?.enabled === false ? { enabled: false } : undefined);
261
+
262
+ const userFinaSettings = useMemo<UserFinaSettings | null>(() => {
263
+ if (!user?.settings) return null;
264
+ const key = `fina_${entityId}`;
265
+ const settings = (user.settings as Record<string, unknown>)[key];
266
+ if (!settings || typeof settings !== "object") return null;
267
+ return settings as UserFinaSettings;
268
+ }, [user?.settings, entityId]);
269
+
270
+ return { data: userFinaSettings, user, isLoading, error, ...rest };
271
+ }
272
+
273
+ /**
274
+ * Hook: Update user FINA settings for a specific entity
275
+ */
276
+ export function useUpdateUserFinaSettings(
277
+ options?: UseMutationOptions<
278
+ any,
279
+ Error,
280
+ { entityId: string; data: { operator_oib?: string; operator_label?: string } }
281
+ >,
282
+ ) {
283
+ const { sdk } = useSDK();
284
+ const queryClient = useQueryClient();
285
+
286
+ return useMutation({
287
+ ...options,
288
+ mutationFn: async ({ entityId, data }) => {
289
+ if (!sdk) throw new Error("SDK not initialized");
290
+ return sdk.users.updateFinaSettings(data, { entity_id: entityId });
291
+ },
292
+ onSuccess: (data, variables, context) => {
207
293
  queryClient.invalidateQueries({
208
- queryKey: finaQueryKeys.devices(variables.premiseId),
294
+ queryKey: finaQueryKeys.currentUser(),
209
295
  });
210
296
  if (options?.onSuccess) {
211
297
  (options.onSuccess as (d: any, v: any, c: any) => void)(data, variables, context);
@@ -1,3 +1,4 @@
1
+ export { FinaOperatorRequiredDialog } from "./fina-operator-required-dialog";
1
2
  export * from "./fina-settings.hooks";
2
3
  export type { FinaSectionType, FinaStepType } from "./fina-settings-form";
3
4
  export { FinaSettingsForm } from "./fina-settings-form";
@@ -28,9 +28,13 @@ export default {
28
28
  "Operator Information": "Betreiberinformationen",
29
29
  "Configure default operator for API usage": "Konfigurieren Sie den Standardbetreiber für die API-Nutzung",
30
30
  "Operator OIB": "Betreiber-OIB",
31
- "OIB of the operator (11 digits, optional)": "OIB des Betreibers (11 Ziffern, optional)",
31
+ "OIB of the operator (11 digits)": "OIB des Bedieners (11 Ziffern)",
32
+ "OIB must be exactly 11 digits": "OIB muss genau 11 Ziffern haben",
33
+ "Operator OIB set": "Bediener-OIB eingestellt",
34
+ "Set operator OIB in General Settings first":
35
+ "Stellen Sie zuerst die Bediener-OIB in den allgemeinen Einstellungen ein",
32
36
  "Operator Label": "Betreiber-Bezeichnung",
33
- "Descriptive label for the operator (optional)": "Beschreibende Bezeichnung für den Betreiber (optional)",
37
+ "e.g. Cashier 1": "z.B. Kassierer 1",
34
38
  "PDV System": "PDV-System",
35
39
  "Entity is registered in the Croatian PDV (VAT) system":
36
40
  "Unternehmen ist im kroatischen PDV (MwSt.)-System registriert",
@@ -42,6 +46,10 @@ export default {
42
46
  "Ungültiger Dateityp. Bitte laden Sie eine .p12- oder .pfx-Zertifikatsdatei hoch.",
43
47
  "Please select a certificate file and enter the passphrase":
44
48
  "Bitte wählen Sie eine Zertifikatsdatei und geben Sie das Passwort ein",
49
+ "Invalid certificate passphrase. Please check your passphrase and try again.":
50
+ "Ungültiges Zertifikatspasswort. Bitte überprüfen Sie Ihr Passwort und versuchen Sie es erneut.",
51
+ "Certificate OIB does not match entity OIB. Please upload a certificate for this entity.":
52
+ "Zertifikats-OIB stimmt nicht mit der Entitäts-OIB überein. Bitte laden Sie ein Zertifikat für diese Entität hoch.",
45
53
  Valid: "Gültig",
46
54
  "Expiring Soon": "Läuft bald ab",
47
55
  Expired: "Abgelaufen",
@@ -56,23 +64,19 @@ export default {
56
64
  "Enter certificate passphrase": "Zertifikatspasswort eingeben",
57
65
  "Upload Certificate": "Zertifikat hochladen",
58
66
  "Upload New Certificate": "Neues Zertifikat hochladen",
59
- "Register your business premises for FINA": "Registrieren Sie Ihre Geschäftsräume für FINA",
60
- "Each premise must be registered with FINA before you can issue fiscalized invoices from that location.":
61
- "Jeder Raum muss bei FINA registriert werden, bevor Sie Rechnungen von diesem Standort fiskalisieren können.",
62
- "Add Real Estate": "Immobilie hinzufügen",
63
- "Add Movable": "Bewegliche Einheit hinzufügen",
67
+ "Manage your business premises for FINA": "Verwalten Sie Ihre Geschäftsräume für FINA",
68
+ "Register your premises on ePorezna first, then add the premise ID here.":
69
+ "Registrieren Sie Ihre Räume zuerst auf ePorezna und fügen Sie dann die Raum-ID hier hinzu.",
70
+ "Add Premise": "Raum hinzufügen",
64
71
  "No premises registered yet": "Noch keine Räume registriert",
65
72
  Active: "Aktiv",
73
+ Inactive: "Inaktiv",
66
74
  Closed: "Geschlossen",
67
- "Real Estate": "Immobilie",
68
- Movable: "Bewegliche Einheit",
69
- "Close Premise": "Raum schließen",
70
- "Are you sure you want to close this premise? This action cannot be undone.":
71
- "Sind Sie sicher, dass Sie diesen Raum schließen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
72
- "Test Environment": "Testumgebung",
73
- Production: "Produktion",
74
- Vehicle: "Fahrzeug",
75
- "Market Stall": "Marktstand",
75
+ "Delete Premise": "Raum löschen",
76
+ "Delete Device": "Gerät löschen",
77
+ "Are you sure you want to delete this premise? This will also deactivate all its devices.":
78
+ "Sind Sie sicher, dass Sie diesen Raum löschen möchten? Dadurch werden auch alle zugehörigen Geräte deaktiviert.",
79
+ "Are you sure you want to delete this device?": "Sind Sie sicher, dass Sie dieses Gerät löschen möchten?",
76
80
  Other: "Sonstiges",
77
81
  Device: "Gerät",
78
82
  Devices: "Geräte",
@@ -87,25 +91,13 @@ export default {
87
91
  Cancel: "Abbrechen",
88
92
  "Register Device": "Gerät registrieren",
89
93
  "Registering...": "Wird registriert...",
90
- "Register Real Estate Premise": "Immobilie registrieren",
91
- "Register Movable Premise": "Bewegliche Einheit registrieren",
94
+ "Add Business Premise": "Geschäftsraum hinzufügen",
95
+ "Enter the premise ID that you registered on ePorezna. After adding, you'll need to register at least one electronic device.":
96
+ "Geben Sie die Raum-ID ein, die Sie auf ePorezna registriert haben. Nach dem Hinzufügen müssen Sie mindestens ein elektronisches Gerät registrieren.",
92
97
  "Premise ID": "Raum-ID",
93
98
  "Unique identifier for this premise (e.g., PP1, OFFICE1)":
94
99
  "Eindeutiger Bezeichner für diesen Raum (z.B. PP1, BUERO1)",
95
- "Cadastral Municipality": "Katastergemeinde",
96
- "Land Registry Number": "Grundbuchnummer",
97
- "Building Number": "Gebäudenummer",
98
- "Sub-Building Number": "Untergebäudenummer",
99
- Street: "Straße",
100
- "House Number": "Hausnummer",
101
- "House Number Additional": "Hausnummernzusatz",
102
- Settlement: "Siedlung",
103
- City: "Stadt",
104
- "Postal Code": "Postleitzahl",
105
- "Premise Type": "Raumtyp",
106
- "Type of movable business premise": "Art des beweglichen Geschäftsraums",
107
- "Other Movable": "Sonstiges beweglich",
108
- "Register Premise": "Raum registrieren",
100
+ "Adding...": "Wird hinzugefügt...",
109
101
  "Save Settings": "Einstellungen speichern",
110
102
  "Saving...": "Wird gespeichert...",
111
103
  "Loading...": "Wird geladen...",
@@ -143,6 +135,34 @@ export default {
143
135
  "Business Premise": "Geschäftsraum",
144
136
  "Electronic Device": "Elektronisches Gerät",
145
137
  "Fiscalization Error": "Fiskalisierungsfehler",
146
- "Register a new business premise with FINA. After registration, you'll need to add at least one electronic device.":
147
- "Registrieren Sie einen neuen Geschäftsraum bei FINA. Nach der Registrierung müssen Sie mindestens ein elektronisches Gerät hinzufügen.",
138
+ "Your Operator Settings": "Ihre Betreibereinstellungen",
139
+ "Your personal operator info for FINA invoices": "Ihre persönlichen Betreiberinformationen für FINA-Rechnungen",
140
+ "Save Operator Settings": "Betreibereinstellungen speichern",
141
+ "Advanced Settings": "Erweiterte Einstellungen",
142
+ "API Default Operator": "Standard-Betreiber für API",
143
+ "Default operator settings for API key usage (when no user context)":
144
+ "Standard-Betreibereinstellungen für API-Schlüssel-Nutzung (ohne Benutzerkontext)",
145
+ "OIB for API key usage (optional)": "OIB für API-Schlüssel-Nutzung (optional)",
146
+ "Operator label for API key usage (optional)": "Betreiberbezeichnung für API-Schlüssel-Nutzung (optional)",
147
+ City: "Stadt",
148
+ "Entity Information": "Unternehmensinformationen",
149
+ "Required company details for FINA fiscalization": "Erforderliche Unternehmensdaten für die FINA-Fiskalisierung",
150
+ "Entity OIB": "OIB des Unternehmens",
151
+ "Your company's OIB (must match FINA certificate)":
152
+ "OIB Ihres Unternehmens (muss mit dem FINA-Zertifikat übereinstimmen)",
153
+ "Entity OIB is required for FINA fiscalization":
154
+ "Die OIB des Unternehmens ist für die FINA-Fiskalisierung erforderlich",
155
+ "Set entity OIB in General Settings first":
156
+ "Setzen Sie zuerst die OIB des Unternehmens in den Allgemeinen Einstellungen",
157
+ Address: "Adresse",
158
+ "Post Code": "Postleitzahl",
159
+ "Save Entity Info": "Unternehmensdaten speichern",
160
+ "Set operator OIB and label in General Settings first": "Set operator OIB and label in General Settings first",
161
+ "Complete General Settings first": "Complete General Settings first",
162
+ "Operator OIB and label are required for FINA fiscalization":
163
+ "Operator OIB and label are required for FINA fiscalization",
164
+ "FINA Operator Settings Required": "FINA Operator Settings Required",
165
+ "Your FINA operator information is needed to fiscalize this document. Please enter your operator details.":
166
+ "Your FINA operator information is needed to fiscalize this document. Please enter your operator details.",
167
+ "Save & Retry": "Save & Retry",
148
168
  } as const;
@@ -27,9 +27,12 @@ export default {
27
27
  "Operator Information": "Operator Information",
28
28
  "Configure default operator for API usage": "Configure default operator for API usage",
29
29
  "Operator OIB": "Operator OIB",
30
- "OIB of the operator (11 digits, optional)": "OIB of the operator (11 digits, optional)",
30
+ "OIB of the operator (11 digits)": "OIB of the operator (11 digits)",
31
+ "OIB must be exactly 11 digits": "OIB must be exactly 11 digits",
32
+ "Operator OIB set": "Operator OIB set",
33
+ "Set operator OIB in General Settings first": "Set operator OIB in General Settings first",
31
34
  "Operator Label": "Operator Label",
32
- "Descriptive label for the operator (optional)": "Descriptive label for the operator (optional)",
35
+ "e.g. Cashier 1": "e.g. Cashier 1",
33
36
  "PDV System": "PDV System",
34
37
  "Entity is registered in the Croatian PDV (VAT) system": "Entity is registered in the Croatian PDV (VAT) system",
35
38
  "Digital Certificate": "Digital Certificate",
@@ -40,6 +43,10 @@ export default {
40
43
  "Invalid file type. Please upload a .p12 or .pfx certificate file.",
41
44
  "Please select a certificate file and enter the passphrase":
42
45
  "Please select a certificate file and enter the passphrase",
46
+ "Invalid certificate passphrase. Please check your passphrase and try again.":
47
+ "Invalid certificate passphrase. Please check your passphrase and try again.",
48
+ "Certificate OIB does not match entity OIB. Please upload a certificate for this entity.":
49
+ "Certificate OIB does not match entity OIB. Please upload a certificate for this entity.",
43
50
  Valid: "Valid",
44
51
  "Expiring Soon": "Expiring Soon",
45
52
  Expired: "Expired",
@@ -54,23 +61,19 @@ export default {
54
61
  "Enter certificate passphrase": "Enter certificate passphrase",
55
62
  "Upload Certificate": "Upload Certificate",
56
63
  "Upload New Certificate": "Upload New Certificate",
57
- "Register your business premises for FINA": "Register your business premises for FINA",
58
- "Each premise must be registered with FINA before you can issue fiscalized invoices from that location.":
59
- "Each premise must be registered with FINA before you can issue fiscalized invoices from that location.",
60
- "Add Real Estate": "Add Real Estate",
61
- "Add Movable": "Add Movable",
64
+ "Manage your business premises for FINA": "Manage your business premises for FINA",
65
+ "Register your premises on ePorezna first, then add the premise ID here.":
66
+ "Register your premises on ePorezna first, then add the premise ID here.",
67
+ "Add Premise": "Add Premise",
62
68
  "No premises registered yet": "No premises registered yet",
63
69
  Active: "Active",
70
+ Inactive: "Inactive",
64
71
  Closed: "Closed",
65
- "Real Estate": "Real Estate",
66
- Movable: "Movable",
67
- "Close Premise": "Close Premise",
68
- "Are you sure you want to close this premise? This action cannot be undone.":
69
- "Are you sure you want to close this premise? This action cannot be undone.",
70
- "Test Environment": "Test Environment",
71
- Production: "Production",
72
- Vehicle: "Vehicle",
73
- "Market Stall": "Market Stall",
72
+ "Delete Premise": "Delete Premise",
73
+ "Delete Device": "Delete Device",
74
+ "Are you sure you want to delete this premise? This will also deactivate all its devices.":
75
+ "Are you sure you want to delete this premise? This will also deactivate all its devices.",
76
+ "Are you sure you want to delete this device?": "Are you sure you want to delete this device?",
74
77
  Other: "Other",
75
78
  Device: "Device",
76
79
  Devices: "Devices",
@@ -85,24 +88,12 @@ export default {
85
88
  Cancel: "Cancel",
86
89
  "Register Device": "Register Device",
87
90
  "Registering...": "Registering...",
88
- "Register Real Estate Premise": "Register Real Estate Premise",
89
- "Register Movable Premise": "Register Movable Premise",
91
+ "Add Business Premise": "Add Business Premise",
92
+ "Enter the premise ID that you registered on ePorezna. After adding, you'll need to register at least one electronic device.":
93
+ "Enter the premise ID that you registered on ePorezna. After adding, you'll need to register at least one electronic device.",
90
94
  "Premise ID": "Premise ID",
91
95
  "Unique identifier for this premise (e.g., PP1, OFFICE1)": "Unique identifier for this premise (e.g., PP1, OFFICE1)",
92
- "Cadastral Municipality": "Cadastral Municipality",
93
- "Land Registry Number": "Land Registry Number",
94
- "Building Number": "Building Number",
95
- "Sub-Building Number": "Sub-Building Number",
96
- Street: "Street",
97
- "House Number": "House Number",
98
- "House Number Additional": "House Number Additional",
99
- Settlement: "Settlement",
100
- City: "City",
101
- "Postal Code": "Postal Code",
102
- "Premise Type": "Premise Type",
103
- "Type of movable business premise": "Type of movable business premise",
104
- "Other Movable": "Other Movable",
105
- "Register Premise": "Register Premise",
96
+ "Adding...": "Adding...",
106
97
  "Save Settings": "Save Settings",
107
98
  "Saving...": "Saving...",
108
99
  "Loading...": "Loading...",
@@ -140,6 +131,32 @@ export default {
140
131
  "Business Premise": "Business Premise",
141
132
  "Electronic Device": "Electronic Device",
142
133
  "Fiscalization Error": "Fiscalization Error",
143
- "Register a new business premise with FINA. After registration, you'll need to add at least one electronic device.":
144
- "Register a new business premise with FINA. After registration, you'll need to add at least one electronic device.",
134
+ "Your Operator Settings": "Your Operator Settings",
135
+ "Your personal operator info for FINA invoices": "Your personal operator info for FINA invoices",
136
+ "Save Operator Settings": "Save Operator Settings",
137
+ "Advanced Settings": "Advanced Settings",
138
+ "API Default Operator": "API Default Operator",
139
+ "Default operator settings for API key usage (when no user context)":
140
+ "Default operator settings for API key usage (when no user context)",
141
+ "OIB for API key usage (optional)": "OIB for API key usage (optional)",
142
+ "Operator label for API key usage (optional)": "Operator label for API key usage (optional)",
143
+ City: "City",
144
+ "Entity Information": "Entity Information",
145
+ "Required company details for FINA fiscalization": "Required company details for FINA fiscalization",
146
+ "Entity OIB": "Entity OIB",
147
+ "Your company's OIB (must match FINA certificate)": "Your company's OIB (must match FINA certificate)",
148
+ "Entity OIB is required for FINA fiscalization": "Entity OIB is required for FINA fiscalization",
149
+ "Set entity OIB in General Settings first": "Set entity OIB in General Settings first",
150
+ "Set operator OIB and label in General Settings first": "Set operator OIB and label in General Settings first",
151
+ "Complete General Settings first": "Complete General Settings first",
152
+ "Operator OIB and label are required for FINA fiscalization":
153
+ "Operator OIB and label are required for FINA fiscalization",
154
+ Address: "Address",
155
+ "Post Code": "Post Code",
156
+ "Save Entity Info": "Save Entity Info",
157
+ // FINA Operator Required Dialog (used during document creation)
158
+ "FINA Operator Settings Required": "FINA Operator Settings Required",
159
+ "Your FINA operator information is needed to fiscalize this document. Please enter your operator details.":
160
+ "Your FINA operator information is needed to fiscalize this document. Please enter your operator details.",
161
+ "Save & Retry": "Save & Retry",
145
162
  } as const;
@@ -28,9 +28,12 @@ export default {
28
28
  "Operator Information": "Información del operador",
29
29
  "Configure default operator for API usage": "Configurar operador predeterminado para uso de API",
30
30
  "Operator OIB": "OIB del operador",
31
- "OIB of the operator (11 digits, optional)": "OIB del operador (11 dígitos, opcional)",
31
+ "OIB of the operator (11 digits)": "OIB del operador (11 dígitos)",
32
+ "OIB must be exactly 11 digits": "El OIB debe tener exactamente 11 dígitos",
33
+ "Operator OIB set": "OIB del operador configurado",
34
+ "Set operator OIB in General Settings first": "Primero configure el OIB del operador en la Configuración general",
32
35
  "Operator Label": "Etiqueta del operador",
33
- "Descriptive label for the operator (optional)": "Etiqueta descriptiva del operador (opcional)",
36
+ "e.g. Cashier 1": "ej. Cajero 1",
34
37
  "PDV System": "Sistema PDV",
35
38
  "Entity is registered in the Croatian PDV (VAT) system": "La entidad está registrada en el sistema PDV (IVA) croata",
36
39
  "Digital Certificate": "Certificado digital",
@@ -41,6 +44,10 @@ export default {
41
44
  "Tipo de archivo inválido. Suba un archivo de certificado .p12 o .pfx.",
42
45
  "Please select a certificate file and enter the passphrase":
43
46
  "Seleccione un archivo de certificado e introduzca la contraseña",
47
+ "Invalid certificate passphrase. Please check your passphrase and try again.":
48
+ "Contraseña del certificado no válida. Verifique su contraseña e intente nuevamente.",
49
+ "Certificate OIB does not match entity OIB. Please upload a certificate for this entity.":
50
+ "El OIB del certificado no coincide con el OIB de la entidad. Suba un certificado para esta entidad.",
44
51
  Valid: "Válido",
45
52
  "Expiring Soon": "Expira pronto",
46
53
  Expired: "Expirado",
@@ -55,23 +62,19 @@ export default {
55
62
  "Enter certificate passphrase": "Introduzca la contraseña del certificado",
56
63
  "Upload Certificate": "Subir certificado",
57
64
  "Upload New Certificate": "Subir nuevo certificado",
58
- "Register your business premises for FINA": "Registre sus locales comerciales para FINA",
59
- "Each premise must be registered with FINA before you can issue fiscalized invoices from that location.":
60
- "Cada local debe estar registrado en FINA antes de poder emitir facturas fiscalizadas desde esa ubicación.",
61
- "Add Real Estate": "Añadir inmueble",
62
- "Add Movable": "Añadir móvil",
65
+ "Manage your business premises for FINA": "Gestione sus locales comerciales para FINA",
66
+ "Register your premises on ePorezna first, then add the premise ID here.":
67
+ "Registre primero sus locales en ePorezna y luego añada el ID del local aquí.",
68
+ "Add Premise": "Añadir local",
63
69
  "No premises registered yet": "Ningún local registrado aún",
64
70
  Active: "Activo",
71
+ Inactive: "Inactivo",
65
72
  Closed: "Cerrado",
66
- "Real Estate": "Inmueble",
67
- Movable: "Unidad móvil",
68
- "Close Premise": "Cerrar local",
69
- "Are you sure you want to close this premise? This action cannot be undone.":
70
- "¿Está seguro de que desea cerrar este local? Esta acción no se puede deshacer.",
71
- "Test Environment": "Entorno de prueba",
72
- Production: "Producción",
73
- Vehicle: "Vehículo",
74
- "Market Stall": "Puesto de mercado",
73
+ "Delete Premise": "Eliminar local",
74
+ "Delete Device": "Eliminar dispositivo",
75
+ "Are you sure you want to delete this premise? This will also deactivate all its devices.":
76
+ "¿Está seguro de que desea eliminar este local? Esto también desactivará todos sus dispositivos.",
77
+ "Are you sure you want to delete this device?": "¿Está seguro de que desea eliminar este dispositivo?",
75
78
  Other: "Otro",
76
79
  Device: "Dispositivo",
77
80
  Devices: "Dispositivos",
@@ -86,24 +89,12 @@ export default {
86
89
  Cancel: "Cancelar",
87
90
  "Register Device": "Registrar dispositivo",
88
91
  "Registering...": "Registrando...",
89
- "Register Real Estate Premise": "Registrar local inmueble",
90
- "Register Movable Premise": "Registrar local móvil",
92
+ "Add Business Premise": "Añadir local comercial",
93
+ "Enter the premise ID that you registered on ePorezna. After adding, you'll need to register at least one electronic device.":
94
+ "Introduzca el ID del local que registró en ePorezna. Después de añadirlo, deberá registrar al menos un dispositivo electrónico.",
91
95
  "Premise ID": "ID del local",
92
96
  "Unique identifier for this premise (e.g., PP1, OFFICE1)": "Identificador único para este local (ej. PP1, OFICINA1)",
93
- "Cadastral Municipality": "Municipio catastral",
94
- "Land Registry Number": "Número de registro catastral",
95
- "Building Number": "Número de edificio",
96
- "Sub-Building Number": "Número de sub-edificio",
97
- Street: "Calle",
98
- "House Number": "Número",
99
- "House Number Additional": "Número adicional",
100
- Settlement: "Localidad",
101
- City: "Ciudad",
102
- "Postal Code": "Código postal",
103
- "Premise Type": "Tipo de local",
104
- "Type of movable business premise": "Tipo de local comercial móvil",
105
- "Other Movable": "Otro móvil",
106
- "Register Premise": "Registrar local",
97
+ "Adding...": "Añadiendo...",
107
98
  "Save Settings": "Guardar configuración",
108
99
  "Saving...": "Guardando...",
109
100
  "Loading...": "Cargando...",
@@ -141,6 +132,31 @@ export default {
141
132
  "Business Premise": "Local comercial",
142
133
  "Electronic Device": "Dispositivo electrónico",
143
134
  "Fiscalization Error": "Error de fiscalización",
144
- "Register a new business premise with FINA. After registration, you'll need to add at least one electronic device.":
145
- "Registre un nuevo local comercial en FINA. Después del registro, deberá añadir al menos un dispositivo electrónico.",
135
+ "Your Operator Settings": "Configuración de su operador",
136
+ "Your personal operator info for FINA invoices": "Su información personal de operador para facturas FINA",
137
+ "Save Operator Settings": "Guardar configuración del operador",
138
+ "Advanced Settings": "Configuración avanzada",
139
+ "API Default Operator": "Operador predeterminado para API",
140
+ "Default operator settings for API key usage (when no user context)":
141
+ "Configuración predeterminada del operador para uso de clave API (sin contexto de usuario)",
142
+ "OIB for API key usage (optional)": "OIB para uso de clave API (opcional)",
143
+ "Operator label for API key usage (optional)": "Etiqueta del operador para uso de clave API (opcional)",
144
+ City: "Ciudad",
145
+ "Entity Information": "Información de la entidad",
146
+ "Required company details for FINA fiscalization": "Datos requeridos de la empresa para la fiscalización FINA",
147
+ "Entity OIB": "OIB de la entidad",
148
+ "Your company's OIB (must match FINA certificate)": "OIB de su empresa (debe coincidir con el certificado FINA)",
149
+ "Entity OIB is required for FINA fiscalization": "El OIB de la entidad es obligatorio para la fiscalización FINA",
150
+ "Set entity OIB in General Settings first": "Primero configure el OIB de la entidad en Configuración general",
151
+ Address: "Dirección",
152
+ "Post Code": "Código postal",
153
+ "Save Entity Info": "Guardar datos de la entidad",
154
+ "Set operator OIB and label in General Settings first": "Set operator OIB and label in General Settings first",
155
+ "Complete General Settings first": "Complete General Settings first",
156
+ "Operator OIB and label are required for FINA fiscalization":
157
+ "Operator OIB and label are required for FINA fiscalization",
158
+ "FINA Operator Settings Required": "FINA Operator Settings Required",
159
+ "Your FINA operator information is needed to fiscalize this document. Please enter your operator details.":
160
+ "Your FINA operator information is needed to fiscalize this document. Please enter your operator details.",
161
+ "Save & Retry": "Save & Retry",
146
162
  } as const;