@agnocon/piece-bexio 0.1.7

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 (182) hide show
  1. package/LICENSE.MIT-AP +24 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +93 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/actions/create-company.d.ts +28 -0
  7. package/dist/lib/actions/create-company.d.ts.map +1 -0
  8. package/dist/lib/actions/create-company.js +461 -0
  9. package/dist/lib/actions/create-company.js.map +1 -0
  10. package/dist/lib/actions/create-file.d.ts +4 -0
  11. package/dist/lib/actions/create-file.d.ts.map +1 -0
  12. package/dist/lib/actions/create-file.js +48 -0
  13. package/dist/lib/actions/create-file.js.map +1 -0
  14. package/dist/lib/actions/create-manual-entry.d.ts +7 -0
  15. package/dist/lib/actions/create-manual-entry.d.ts.map +1 -0
  16. package/dist/lib/actions/create-manual-entry.js +426 -0
  17. package/dist/lib/actions/create-manual-entry.js.map +1 -0
  18. package/dist/lib/actions/create-person.d.ts +30 -0
  19. package/dist/lib/actions/create-person.d.ts.map +1 -0
  20. package/dist/lib/actions/create-person.js +477 -0
  21. package/dist/lib/actions/create-person.js.map +1 -0
  22. package/dist/lib/actions/create-product.d.ts +34 -0
  23. package/dist/lib/actions/create-product.d.ts.map +1 -0
  24. package/dist/lib/actions/create-product.js +527 -0
  25. package/dist/lib/actions/create-product.js.map +1 -0
  26. package/dist/lib/actions/create-project.d.ts +17 -0
  27. package/dist/lib/actions/create-project.d.ts.map +1 -0
  28. package/dist/lib/actions/create-project.js +316 -0
  29. package/dist/lib/actions/create-project.js.map +1 -0
  30. package/dist/lib/actions/create-sales-invoice.d.ts +25 -0
  31. package/dist/lib/actions/create-sales-invoice.d.ts.map +1 -0
  32. package/dist/lib/actions/create-sales-invoice.js +615 -0
  33. package/dist/lib/actions/create-sales-invoice.js.map +1 -0
  34. package/dist/lib/actions/create-sales-order.d.ts +25 -0
  35. package/dist/lib/actions/create-sales-order.d.ts.map +1 -0
  36. package/dist/lib/actions/create-sales-order.js +642 -0
  37. package/dist/lib/actions/create-sales-order.js.map +1 -0
  38. package/dist/lib/actions/create-sales-quote.d.ts +28 -0
  39. package/dist/lib/actions/create-sales-quote.d.ts.map +1 -0
  40. package/dist/lib/actions/create-sales-quote.js +666 -0
  41. package/dist/lib/actions/create-sales-quote.js.map +1 -0
  42. package/dist/lib/actions/create-time-tracking.d.ts +17 -0
  43. package/dist/lib/actions/create-time-tracking.d.ts.map +1 -0
  44. package/dist/lib/actions/create-time-tracking.js +380 -0
  45. package/dist/lib/actions/create-time-tracking.js.map +1 -0
  46. package/dist/lib/actions/export-invoice-pdf.d.ts +5 -0
  47. package/dist/lib/actions/export-invoice-pdf.d.ts.map +1 -0
  48. package/dist/lib/actions/export-invoice-pdf.js +94 -0
  49. package/dist/lib/actions/export-invoice-pdf.js.map +1 -0
  50. package/dist/lib/actions/find-account.d.ts +6 -0
  51. package/dist/lib/actions/find-account.d.ts.map +1 -0
  52. package/dist/lib/actions/find-account.js +107 -0
  53. package/dist/lib/actions/find-account.js.map +1 -0
  54. package/dist/lib/actions/find-company.d.ts +8 -0
  55. package/dist/lib/actions/find-company.d.ts.map +1 -0
  56. package/dist/lib/actions/find-company.js +160 -0
  57. package/dist/lib/actions/find-company.js.map +1 -0
  58. package/dist/lib/actions/find-country.d.ts +7 -0
  59. package/dist/lib/actions/find-country.d.ts.map +1 -0
  60. package/dist/lib/actions/find-country.js +125 -0
  61. package/dist/lib/actions/find-country.js.map +1 -0
  62. package/dist/lib/actions/find-person.d.ts +9 -0
  63. package/dist/lib/actions/find-person.d.ts.map +1 -0
  64. package/dist/lib/actions/find-person.js +175 -0
  65. package/dist/lib/actions/find-person.js.map +1 -0
  66. package/dist/lib/actions/find-product.d.ts +7 -0
  67. package/dist/lib/actions/find-product.d.ts.map +1 -0
  68. package/dist/lib/actions/find-product.js +124 -0
  69. package/dist/lib/actions/find-product.js.map +1 -0
  70. package/dist/lib/actions/search-invoice.d.ts +7 -0
  71. package/dist/lib/actions/search-invoice.d.ts.map +1 -0
  72. package/dist/lib/actions/search-invoice.js +140 -0
  73. package/dist/lib/actions/search-invoice.js.map +1 -0
  74. package/dist/lib/actions/search-order.d.ts +7 -0
  75. package/dist/lib/actions/search-order.d.ts.map +1 -0
  76. package/dist/lib/actions/search-order.js +139 -0
  77. package/dist/lib/actions/search-order.js.map +1 -0
  78. package/dist/lib/actions/search-quote.d.ts +7 -0
  79. package/dist/lib/actions/search-quote.d.ts.map +1 -0
  80. package/dist/lib/actions/search-quote.js +140 -0
  81. package/dist/lib/actions/search-quote.js.map +1 -0
  82. package/dist/lib/actions/send-sales-invoice.d.ts +9 -0
  83. package/dist/lib/actions/send-sales-invoice.d.ts.map +1 -0
  84. package/dist/lib/actions/send-sales-invoice.js +110 -0
  85. package/dist/lib/actions/send-sales-invoice.js.map +1 -0
  86. package/dist/lib/actions/update-company.d.ts +29 -0
  87. package/dist/lib/actions/update-company.d.ts.map +1 -0
  88. package/dist/lib/actions/update-company.js +506 -0
  89. package/dist/lib/actions/update-company.js.map +1 -0
  90. package/dist/lib/actions/update-person.d.ts +31 -0
  91. package/dist/lib/actions/update-person.d.ts.map +1 -0
  92. package/dist/lib/actions/update-person.js +524 -0
  93. package/dist/lib/actions/update-person.js.map +1 -0
  94. package/dist/lib/actions/update-product.d.ts +34 -0
  95. package/dist/lib/actions/update-product.d.ts.map +1 -0
  96. package/dist/lib/actions/update-product.js +556 -0
  97. package/dist/lib/actions/update-product.js.map +1 -0
  98. package/dist/lib/auth.d.ts +2 -0
  99. package/dist/lib/auth.d.ts.map +1 -0
  100. package/dist/lib/auth.js +51 -0
  101. package/dist/lib/auth.js.map +1 -0
  102. package/dist/lib/common/client.d.ts +13 -0
  103. package/dist/lib/common/client.d.ts.map +1 -0
  104. package/dist/lib/common/client.js +64 -0
  105. package/dist/lib/common/client.js.map +1 -0
  106. package/dist/lib/common/index.d.ts +5 -0
  107. package/dist/lib/common/index.d.ts.map +1 -0
  108. package/dist/lib/common/index.js +10 -0
  109. package/dist/lib/common/index.js.map +1 -0
  110. package/dist/lib/common/props.d.ts +14 -0
  111. package/dist/lib/common/props.d.ts.map +1 -0
  112. package/dist/lib/common/props.js +118 -0
  113. package/dist/lib/common/props.js.map +1 -0
  114. package/dist/lib/common/types.d.ts +89 -0
  115. package/dist/lib/common/types.d.ts.map +1 -0
  116. package/dist/lib/common/types.js +6 -0
  117. package/dist/lib/common/types.js.map +1 -0
  118. package/dist/lib/triggers/new-order.d.ts +11 -0
  119. package/dist/lib/triggers/new-order.d.ts.map +1 -0
  120. package/dist/lib/triggers/new-order.js +152 -0
  121. package/dist/lib/triggers/new-order.js.map +1 -0
  122. package/dist/lib/triggers/new-product.d.ts +3 -0
  123. package/dist/lib/triggers/new-product.d.ts.map +1 -0
  124. package/dist/lib/triggers/new-product.js +111 -0
  125. package/dist/lib/triggers/new-product.js.map +1 -0
  126. package/dist/lib/triggers/new-project.d.ts +11 -0
  127. package/dist/lib/triggers/new-project.d.ts.map +1 -0
  128. package/dist/lib/triggers/new-project.js +141 -0
  129. package/dist/lib/triggers/new-project.js.map +1 -0
  130. package/dist/lib/triggers/new-quote.d.ts +11 -0
  131. package/dist/lib/triggers/new-quote.d.ts.map +1 -0
  132. package/dist/lib/triggers/new-quote.js +153 -0
  133. package/dist/lib/triggers/new-quote.js.map +1 -0
  134. package/dist/lib/triggers/new-sales-invoice.d.ts +11 -0
  135. package/dist/lib/triggers/new-sales-invoice.d.ts.map +1 -0
  136. package/dist/lib/triggers/new-sales-invoice.js +153 -0
  137. package/dist/lib/triggers/new-sales-invoice.js.map +1 -0
  138. package/dist/lib/triggers/new-updated-company.d.ts +3 -0
  139. package/dist/lib/triggers/new-updated-company.d.ts.map +1 -0
  140. package/dist/lib/triggers/new-updated-company.js +122 -0
  141. package/dist/lib/triggers/new-updated-company.js.map +1 -0
  142. package/dist/lib/triggers/new-updated-person.d.ts +3 -0
  143. package/dist/lib/triggers/new-updated-person.d.ts.map +1 -0
  144. package/dist/lib/triggers/new-updated-person.js +122 -0
  145. package/dist/lib/triggers/new-updated-person.js.map +1 -0
  146. package/package.json +48 -0
  147. package/src/index.ts +89 -0
  148. package/src/lib/actions/create-company.ts +464 -0
  149. package/src/lib/actions/create-file.ts +62 -0
  150. package/src/lib/actions/create-manual-entry.ts +445 -0
  151. package/src/lib/actions/create-person.ts +481 -0
  152. package/src/lib/actions/create-product.ts +563 -0
  153. package/src/lib/actions/create-project.ts +344 -0
  154. package/src/lib/actions/create-sales-invoice.ts +656 -0
  155. package/src/lib/actions/create-sales-order.ts +689 -0
  156. package/src/lib/actions/create-sales-quote.ts +713 -0
  157. package/src/lib/actions/create-time-tracking.ts +418 -0
  158. package/src/lib/actions/export-invoice-pdf.ts +104 -0
  159. package/src/lib/actions/find-account.ts +114 -0
  160. package/src/lib/actions/find-company.ts +193 -0
  161. package/src/lib/actions/find-country.ts +127 -0
  162. package/src/lib/actions/find-person.ts +208 -0
  163. package/src/lib/actions/find-product.ts +161 -0
  164. package/src/lib/actions/search-invoice.ts +157 -0
  165. package/src/lib/actions/search-order.ts +155 -0
  166. package/src/lib/actions/search-quote.ts +157 -0
  167. package/src/lib/actions/send-sales-invoice.ts +118 -0
  168. package/src/lib/actions/update-company.ts +518 -0
  169. package/src/lib/actions/update-person.ts +536 -0
  170. package/src/lib/actions/update-product.ts +594 -0
  171. package/src/lib/auth.ts +44 -0
  172. package/src/lib/common/client.ts +65 -0
  173. package/src/lib/common/index.ts +5 -0
  174. package/src/lib/common/props.ts +127 -0
  175. package/src/lib/common/types.ts +99 -0
  176. package/src/lib/triggers/new-order.ts +184 -0
  177. package/src/lib/triggers/new-product.ts +154 -0
  178. package/src/lib/triggers/new-project.ts +165 -0
  179. package/src/lib/triggers/new-quote.ts +186 -0
  180. package/src/lib/triggers/new-sales-invoice.ts +186 -0
  181. package/src/lib/triggers/new-updated-company.ts +161 -0
  182. package/src/lib/triggers/new-updated-person.ts +161 -0
@@ -0,0 +1,615 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSalesInvoiceAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Vendored from Activepieces packages/pieces/community/bexio/src/lib/actions/create-sales-invoice.ts (MIT).
6
+ // Generated by packages/scripts/vendor-ap.mjs - do not edit by hand.
7
+ const pieces_framework_1 = require("@agnocon/pieces-framework");
8
+ const auth_1 = require("../auth");
9
+ const client_1 = require("../common/client");
10
+ const props_1 = require("../common/props");
11
+ exports.createSalesInvoiceAction = (0, pieces_framework_1.createAction)({
12
+ auth: auth_1.bexioAuth,
13
+ name: 'create_sales_invoice',
14
+ displayName: 'Create Sales Invoice',
15
+ description: 'Create a new product-based sales invoice',
16
+ audience: 'both',
17
+ aiMetadata: { description: 'Creates a new sales invoice in Bexio from one or more line-item positions (custom, article, text, subtotal, discount, or page-break). Use when billing a customer for products or services; requires a user, language, bank account, currency, payment type, tax handling, and at least one position. Not idempotent: each call creates a separate invoice, so guard against duplicates.', idempotent: false },
18
+ props: {
19
+ document_nr: pieces_framework_1.Property.ShortText({
20
+ displayName: 'Document Number',
21
+ description: 'Invoice number (required if automatic numbering is disabled)',
22
+ required: false,
23
+ }),
24
+ title: pieces_framework_1.Property.ShortText({
25
+ displayName: 'Title',
26
+ description: 'Invoice title',
27
+ required: false,
28
+ }),
29
+ contact_id: pieces_framework_1.Property.Dropdown({
30
+ auth: auth_1.bexioAuth,
31
+ displayName: 'Contact',
32
+ description: 'The contact for this invoice',
33
+ required: false,
34
+ refreshers: [],
35
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
36
+ if (!auth) {
37
+ return {
38
+ disabled: true,
39
+ placeholder: 'Connect your Bexio account first',
40
+ options: [],
41
+ };
42
+ }
43
+ try {
44
+ const client = new client_1.BexioClient(auth);
45
+ const contacts = yield client.get('/2.0/contact');
46
+ return {
47
+ disabled: false,
48
+ options: contacts.map((contact) => {
49
+ const name = contact.name_2
50
+ ? `${contact.name_2} ${contact.name_1}`
51
+ : contact.name_1;
52
+ const label = contact.nr ? `${name} (#${contact.nr})` : name;
53
+ return {
54
+ label,
55
+ value: contact.id,
56
+ };
57
+ }),
58
+ };
59
+ }
60
+ catch (error) {
61
+ return {
62
+ disabled: true,
63
+ placeholder: 'Failed to load contacts',
64
+ options: [],
65
+ };
66
+ }
67
+ }),
68
+ }),
69
+ contact_sub_id: pieces_framework_1.Property.Dropdown({
70
+ auth: auth_1.bexioAuth,
71
+ displayName: 'Contact Sub',
72
+ description: 'Contact sub-address (optional)',
73
+ required: false,
74
+ refreshers: [],
75
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
76
+ if (!auth) {
77
+ return {
78
+ disabled: true,
79
+ placeholder: 'Connect your Bexio account first',
80
+ options: [],
81
+ };
82
+ }
83
+ try {
84
+ const client = new client_1.BexioClient(auth);
85
+ const contacts = yield client.get('/2.0/contact');
86
+ return {
87
+ disabled: false,
88
+ options: contacts.map((contact) => {
89
+ const name = contact.name_2
90
+ ? `${contact.name_2} ${contact.name_1}`
91
+ : contact.name_1;
92
+ const label = contact.nr ? `${name} (#${contact.nr})` : name;
93
+ return {
94
+ label,
95
+ value: contact.id,
96
+ };
97
+ }),
98
+ };
99
+ }
100
+ catch (error) {
101
+ return {
102
+ disabled: true,
103
+ placeholder: 'Failed to load contacts',
104
+ options: [],
105
+ };
106
+ }
107
+ }),
108
+ }),
109
+ user_id: pieces_framework_1.Property.Dropdown({
110
+ auth: auth_1.bexioAuth,
111
+ displayName: 'User',
112
+ description: 'User assigned to this invoice',
113
+ required: true,
114
+ refreshers: [],
115
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
116
+ if (!auth) {
117
+ return {
118
+ disabled: true,
119
+ placeholder: 'Connect your Bexio account first',
120
+ options: [],
121
+ };
122
+ }
123
+ try {
124
+ const client = new client_1.BexioClient(auth);
125
+ const users = yield client.get('/3.0/users');
126
+ return {
127
+ disabled: false,
128
+ options: users.map((user) => ({
129
+ label: `${user.firstname || ''} ${user.lastname || ''}`.trim() || user.email,
130
+ value: user.id,
131
+ })),
132
+ };
133
+ }
134
+ catch (error) {
135
+ return {
136
+ disabled: true,
137
+ placeholder: 'Failed to load users',
138
+ options: [],
139
+ };
140
+ }
141
+ }),
142
+ }),
143
+ pr_project_id: pieces_framework_1.Property.Dropdown({
144
+ auth: auth_1.bexioAuth,
145
+ displayName: 'Project',
146
+ description: 'Project associated with this invoice',
147
+ required: false,
148
+ refreshers: [],
149
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
150
+ if (!auth) {
151
+ return {
152
+ disabled: true,
153
+ placeholder: 'Connect your Bexio account first',
154
+ options: [],
155
+ };
156
+ }
157
+ try {
158
+ const client = new client_1.BexioClient(auth);
159
+ const projects = yield client.get('/2.0/pr_project');
160
+ return {
161
+ disabled: false,
162
+ options: projects.map((project) => ({
163
+ label: project.nr ? `${project.name} (#${project.nr})` : project.name,
164
+ value: project.id,
165
+ })),
166
+ };
167
+ }
168
+ catch (error) {
169
+ return {
170
+ disabled: true,
171
+ placeholder: 'Failed to load projects',
172
+ options: [],
173
+ };
174
+ }
175
+ }),
176
+ }),
177
+ language_id: pieces_framework_1.Property.Dropdown({
178
+ auth: auth_1.bexioAuth,
179
+ displayName: 'Language',
180
+ description: 'Language for the invoice',
181
+ required: true,
182
+ refreshers: [],
183
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
184
+ if (!auth) {
185
+ return {
186
+ disabled: true,
187
+ placeholder: 'Connect your Bexio account first',
188
+ options: [],
189
+ };
190
+ }
191
+ try {
192
+ const client = new client_1.BexioClient(auth);
193
+ const languages = yield client.get('/2.0/language');
194
+ return {
195
+ disabled: false,
196
+ options: languages.map((lang) => ({
197
+ label: lang.name,
198
+ value: lang.id,
199
+ })),
200
+ };
201
+ }
202
+ catch (error) {
203
+ return {
204
+ disabled: true,
205
+ placeholder: 'Failed to load languages',
206
+ options: [],
207
+ };
208
+ }
209
+ }),
210
+ }),
211
+ bank_account_id: pieces_framework_1.Property.Dropdown({
212
+ auth: auth_1.bexioAuth,
213
+ displayName: 'Bank Account',
214
+ description: 'Bank account for payment',
215
+ required: true,
216
+ refreshers: [],
217
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
218
+ if (!auth) {
219
+ return {
220
+ disabled: true,
221
+ placeholder: 'Connect your Bexio account first',
222
+ options: [],
223
+ };
224
+ }
225
+ try {
226
+ const client = new client_1.BexioClient(auth);
227
+ const bankAccounts = yield client.get('/3.0/banking/accounts');
228
+ return {
229
+ disabled: false,
230
+ options: bankAccounts.map((account) => {
231
+ const iban = account.iban_nr || account.bank_account_nr;
232
+ return {
233
+ label: iban ? `${account.name} (${iban})` : account.name,
234
+ value: account.id,
235
+ };
236
+ }),
237
+ };
238
+ }
239
+ catch (error) {
240
+ return {
241
+ disabled: true,
242
+ placeholder: 'Failed to load bank accounts',
243
+ options: [],
244
+ };
245
+ }
246
+ }),
247
+ }),
248
+ currency_id: props_1.bexioCommonProps.currency({
249
+ displayName: 'Currency',
250
+ required: true,
251
+ }),
252
+ payment_type_id: pieces_framework_1.Property.Dropdown({
253
+ auth: auth_1.bexioAuth,
254
+ displayName: 'Payment Type',
255
+ description: 'Payment type for this invoice',
256
+ required: true,
257
+ refreshers: [],
258
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
259
+ if (!auth) {
260
+ return {
261
+ disabled: true,
262
+ placeholder: 'Connect your Bexio account first',
263
+ options: [],
264
+ };
265
+ }
266
+ try {
267
+ const client = new client_1.BexioClient(auth);
268
+ const paymentTypes = yield client.get('/2.0/payment_type');
269
+ return {
270
+ disabled: false,
271
+ options: paymentTypes.map((type) => ({
272
+ label: type.name,
273
+ value: type.id,
274
+ })),
275
+ };
276
+ }
277
+ catch (error) {
278
+ return {
279
+ disabled: true,
280
+ placeholder: 'Failed to load payment types',
281
+ options: [],
282
+ };
283
+ }
284
+ }),
285
+ }),
286
+ header: pieces_framework_1.Property.LongText({
287
+ displayName: 'Header',
288
+ description: 'Header text for the invoice',
289
+ required: false,
290
+ }),
291
+ footer: pieces_framework_1.Property.LongText({
292
+ displayName: 'Footer',
293
+ description: 'Footer text for the invoice',
294
+ required: false,
295
+ }),
296
+ mwst_type: pieces_framework_1.Property.StaticDropdown({
297
+ displayName: 'Tax Type',
298
+ description: 'How taxes are handled',
299
+ required: true,
300
+ defaultValue: 0,
301
+ options: {
302
+ disabled: false,
303
+ options: [
304
+ { label: 'Including taxes', value: 0 },
305
+ { label: 'Excluding taxes', value: 1 },
306
+ { label: 'Exempt from taxes', value: 2 },
307
+ ],
308
+ },
309
+ }),
310
+ mwst_is_net: pieces_framework_1.Property.Checkbox({
311
+ displayName: 'Tax is Net',
312
+ description: 'If taxes are included, set to true to add taxes to total, false to include in total',
313
+ required: false,
314
+ defaultValue: false,
315
+ }),
316
+ show_position_taxes: pieces_framework_1.Property.Checkbox({
317
+ displayName: 'Show Position Taxes',
318
+ description: 'Show taxes for each position',
319
+ required: false,
320
+ defaultValue: false,
321
+ }),
322
+ is_valid_from: pieces_framework_1.Property.ShortText({
323
+ displayName: 'Valid From',
324
+ description: 'Invoice valid from date (YYYY-MM-DD)',
325
+ required: false,
326
+ }),
327
+ is_valid_to: pieces_framework_1.Property.ShortText({
328
+ displayName: 'Valid To',
329
+ description: 'Invoice valid to date (YYYY-MM-DD)',
330
+ required: false,
331
+ }),
332
+ contact_address_manual: pieces_framework_1.Property.LongText({
333
+ displayName: 'Manual Contact Address',
334
+ description: 'Override contact address (leave empty to use contact address)',
335
+ required: false,
336
+ }),
337
+ reference: pieces_framework_1.Property.ShortText({
338
+ displayName: 'Reference',
339
+ description: 'Reference number',
340
+ required: false,
341
+ }),
342
+ api_reference: pieces_framework_1.Property.ShortText({
343
+ displayName: 'API Reference',
344
+ description: 'Reference for API use (can only be edited via API)',
345
+ required: false,
346
+ }),
347
+ template_slug: pieces_framework_1.Property.Dropdown({
348
+ auth: auth_1.bexioAuth,
349
+ displayName: 'Document Template',
350
+ description: 'Document template for the invoice',
351
+ required: false,
352
+ refreshers: [],
353
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
354
+ if (!auth) {
355
+ return {
356
+ disabled: true,
357
+ placeholder: 'Connect your Bexio account first',
358
+ options: [],
359
+ };
360
+ }
361
+ try {
362
+ const client = new client_1.BexioClient(auth);
363
+ const templates = yield client.get('/3.0/document_templates');
364
+ return {
365
+ disabled: false,
366
+ options: templates.map((template) => ({
367
+ label: template.is_default ? `${template.name} (Default)` : template.name,
368
+ value: template.template_slug,
369
+ })),
370
+ };
371
+ }
372
+ catch (error) {
373
+ return {
374
+ disabled: true,
375
+ placeholder: 'Failed to load templates',
376
+ options: [],
377
+ };
378
+ }
379
+ }),
380
+ }),
381
+ positionFields: pieces_framework_1.Property.DynamicProperties({
382
+ auth: auth_1.bexioAuth,
383
+ displayName: 'Invoice Positions',
384
+ description: 'Configure invoice line items',
385
+ required: true,
386
+ refreshers: ['auth'],
387
+ props: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
388
+ let units = [];
389
+ let accounts = [];
390
+ let taxes = [];
391
+ if (auth) {
392
+ try {
393
+ const client = new client_1.BexioClient(auth);
394
+ units = yield client.get('/2.0/unit').catch(() => []);
395
+ accounts = yield client.get('/accounts').catch(() => []);
396
+ const taxesResponse = yield client.get('/3.0/taxes?types=sales_tax&scope=active').catch(() => []);
397
+ taxes = taxesResponse.map((tax) => ({
398
+ id: tax.id,
399
+ name: tax.display_name || tax.name,
400
+ percentage: tax.value.toString(),
401
+ }));
402
+ }
403
+ catch (error) {
404
+ // Ignore error, use empty array as fallback
405
+ }
406
+ }
407
+ const unitOptions = units.map((unit) => ({ label: unit.name, value: unit.id }));
408
+ const accountOptions = accounts.map((acc) => ({ label: `${acc.account_no} - ${acc.name}`, value: acc.id }));
409
+ const taxOptions = taxes.map((tax) => ({ label: `${tax.name} (${tax.percentage}%)`, value: tax.id }));
410
+ return {
411
+ positions: pieces_framework_1.Property.Array({
412
+ displayName: 'Positions',
413
+ description: 'Invoice line items',
414
+ required: true,
415
+ properties: {
416
+ type: pieces_framework_1.Property.StaticDropdown({
417
+ displayName: 'Position Type',
418
+ description: 'Type of invoice position',
419
+ required: true,
420
+ defaultValue: 'KbPositionCustom',
421
+ options: {
422
+ disabled: false,
423
+ options: [
424
+ { label: 'Custom Position', value: 'KbPositionCustom' },
425
+ { label: 'Article Position', value: 'KbPositionArticle' },
426
+ { label: 'Text Position', value: 'KbPositionText' },
427
+ { label: 'Subtotal Position', value: 'KbPositionSubtotal' },
428
+ { label: 'Page Break Position', value: 'KbPositionPagebreak' },
429
+ { label: 'Discount Position', value: 'KbPositionDiscount' },
430
+ ],
431
+ },
432
+ }),
433
+ amount: pieces_framework_1.Property.ShortText({
434
+ displayName: 'Amount',
435
+ description: 'Quantity/amount',
436
+ required: true,
437
+ }),
438
+ unit_id: unitOptions.length > 0
439
+ ? pieces_framework_1.Property.StaticDropdown({
440
+ displayName: 'Unit',
441
+ description: 'Unit of measurement',
442
+ required: false,
443
+ options: {
444
+ disabled: false,
445
+ options: unitOptions,
446
+ },
447
+ })
448
+ : pieces_framework_1.Property.Number({
449
+ displayName: 'Unit ID',
450
+ description: 'Unit ID (use List Units action to find IDs)',
451
+ required: false,
452
+ }),
453
+ account_id: accountOptions.length > 0
454
+ ? pieces_framework_1.Property.StaticDropdown({
455
+ displayName: 'Account',
456
+ description: 'Account for this position',
457
+ required: false,
458
+ options: {
459
+ disabled: false,
460
+ options: accountOptions,
461
+ },
462
+ })
463
+ : pieces_framework_1.Property.Number({
464
+ displayName: 'Account ID',
465
+ description: 'Account ID (use List Accounts action to find IDs)',
466
+ required: false,
467
+ }),
468
+ tax_id: taxOptions.length > 0
469
+ ? pieces_framework_1.Property.StaticDropdown({
470
+ displayName: 'Tax',
471
+ description: 'Tax rate (only active sales taxes)',
472
+ required: false,
473
+ options: {
474
+ disabled: false,
475
+ options: taxOptions,
476
+ },
477
+ })
478
+ : pieces_framework_1.Property.Number({
479
+ displayName: 'Tax ID',
480
+ description: 'Tax ID (use List Taxes action to find IDs)',
481
+ required: false,
482
+ }),
483
+ text: pieces_framework_1.Property.LongText({
484
+ displayName: 'Description',
485
+ description: 'Position description/text',
486
+ required: false,
487
+ }),
488
+ unit_price: pieces_framework_1.Property.ShortText({
489
+ displayName: 'Unit Price',
490
+ description: 'Price per unit (max 6 decimals)',
491
+ required: false,
492
+ }),
493
+ discount_in_percent: pieces_framework_1.Property.ShortText({
494
+ displayName: 'Discount (%)',
495
+ description: 'Discount percentage (max 6 decimals)',
496
+ required: false,
497
+ }),
498
+ parent_id: pieces_framework_1.Property.Number({
499
+ displayName: 'Parent ID',
500
+ description: 'Parent position ID (for grouped positions)',
501
+ required: false,
502
+ }),
503
+ },
504
+ }),
505
+ };
506
+ }),
507
+ }),
508
+ },
509
+ run(context) {
510
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
511
+ const client = new client_1.BexioClient(context.auth);
512
+ const props = context.propsValue;
513
+ const requestBody = {};
514
+ if (props['user_id']) {
515
+ requestBody['user_id'] = props['user_id'];
516
+ }
517
+ if (props['language_id']) {
518
+ requestBody['language_id'] = props['language_id'];
519
+ }
520
+ if (props['bank_account_id']) {
521
+ requestBody['bank_account_id'] = props['bank_account_id'];
522
+ }
523
+ if (props['currency_id']) {
524
+ requestBody['currency_id'] = props['currency_id'];
525
+ }
526
+ if (props['payment_type_id']) {
527
+ requestBody['payment_type_id'] = props['payment_type_id'];
528
+ }
529
+ if (props['document_nr']) {
530
+ requestBody['document_nr'] = props['document_nr'];
531
+ }
532
+ if (props['title'] !== undefined) {
533
+ requestBody['title'] = props['title'] || null;
534
+ }
535
+ if (props['contact_id']) {
536
+ requestBody['contact_id'] = props['contact_id'];
537
+ }
538
+ if (props['contact_sub_id']) {
539
+ requestBody['contact_sub_id'] = props['contact_sub_id'];
540
+ }
541
+ if (props['pr_project_id']) {
542
+ requestBody['pr_project_id'] = props['pr_project_id'];
543
+ }
544
+ if (props['header']) {
545
+ requestBody['header'] = props['header'];
546
+ }
547
+ if (props['footer']) {
548
+ requestBody['footer'] = props['footer'];
549
+ }
550
+ if (props['mwst_type'] !== undefined) {
551
+ requestBody['mwst_type'] = props['mwst_type'];
552
+ }
553
+ if (props['mwst_is_net'] !== undefined) {
554
+ requestBody['mwst_is_net'] = props['mwst_is_net'];
555
+ }
556
+ if (props['show_position_taxes'] !== undefined) {
557
+ requestBody['show_position_taxes'] = props['show_position_taxes'];
558
+ }
559
+ if (props['is_valid_from']) {
560
+ requestBody['is_valid_from'] = props['is_valid_from'];
561
+ }
562
+ if (props['is_valid_to']) {
563
+ requestBody['is_valid_to'] = props['is_valid_to'];
564
+ }
565
+ if (props['contact_address_manual']) {
566
+ requestBody['contact_address_manual'] = props['contact_address_manual'];
567
+ }
568
+ if (props['reference']) {
569
+ requestBody['reference'] = props['reference'];
570
+ }
571
+ if (props['api_reference']) {
572
+ requestBody['api_reference'] = props['api_reference'];
573
+ }
574
+ if (props['template_slug']) {
575
+ requestBody['template_slug'] = props['template_slug'];
576
+ }
577
+ const positionFields = props['positionFields'];
578
+ if (positionFields && positionFields['positions'] && Array.isArray(positionFields['positions'])) {
579
+ requestBody['positions'] = positionFields['positions'].map((position) => {
580
+ const pos = {
581
+ type: position['type'] || 'KbPositionCustom',
582
+ };
583
+ if (position['amount']) {
584
+ pos['amount'] = position['amount'];
585
+ }
586
+ if (position['unit_id']) {
587
+ pos['unit_id'] = position['unit_id'];
588
+ }
589
+ if (position['account_id']) {
590
+ pos['account_id'] = position['account_id'];
591
+ }
592
+ if (position['tax_id']) {
593
+ pos['tax_id'] = position['tax_id'];
594
+ }
595
+ if (position['text']) {
596
+ pos['text'] = position['text'];
597
+ }
598
+ if (position['unit_price']) {
599
+ pos['unit_price'] = position['unit_price'];
600
+ }
601
+ if (position['discount_in_percent']) {
602
+ pos['discount_in_percent'] = position['discount_in_percent'];
603
+ }
604
+ if (position['parent_id']) {
605
+ pos['parent_id'] = position['parent_id'];
606
+ }
607
+ return pos;
608
+ });
609
+ }
610
+ const response = yield client.post('/2.0/kb_invoice', requestBody);
611
+ return response;
612
+ });
613
+ },
614
+ });
615
+ //# sourceMappingURL=create-sales-invoice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-sales-invoice.js","sourceRoot":"","sources":["../../../src/lib/actions/create-sales-invoice.ts"],"names":[],"mappings":"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"}