@arathron/n8n-nodes-zoho-books 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +199 -0
  3. package/dist/credentials/ZohoBooksOAuth2.credentials.d.ts +8 -0
  4. package/dist/credentials/ZohoBooksOAuth2.credentials.js +75 -0
  5. package/dist/credentials/ZohoBooksOAuth2.credentials.js.map +1 -0
  6. package/dist/nodes/ZohoBooks.node.d.ts +5 -0
  7. package/dist/nodes/ZohoBooks.node.js +260 -0
  8. package/dist/nodes/ZohoBooks.node.js.map +1 -0
  9. package/dist/nodes/resources/BaseResource.d.ts +16 -0
  10. package/dist/nodes/resources/BaseResource.js +44 -0
  11. package/dist/nodes/resources/BaseResource.js.map +1 -0
  12. package/dist/nodes/resources/CreditNote.resource.d.ts +14 -0
  13. package/dist/nodes/resources/CreditNote.resource.js +291 -0
  14. package/dist/nodes/resources/CreditNote.resource.js.map +1 -0
  15. package/dist/nodes/resources/Invoice.resource.d.ts +14 -0
  16. package/dist/nodes/resources/Invoice.resource.js +251 -0
  17. package/dist/nodes/resources/Invoice.resource.js.map +1 -0
  18. package/dist/nodes/resources/Item.resource.d.ts +14 -0
  19. package/dist/nodes/resources/Item.resource.js +312 -0
  20. package/dist/nodes/resources/Item.resource.js.map +1 -0
  21. package/dist/nodes/resources/Payment.resource.d.ts +14 -0
  22. package/dist/nodes/resources/Payment.resource.js +341 -0
  23. package/dist/nodes/resources/Payment.resource.js.map +1 -0
  24. package/dist/nodes/resources/SalesOrder.resource.d.ts +14 -0
  25. package/dist/nodes/resources/SalesOrder.resource.js +211 -0
  26. package/dist/nodes/resources/SalesOrder.resource.js.map +1 -0
  27. package/dist/nodes/resources/Vendor.resource.d.ts +14 -0
  28. package/dist/nodes/resources/Vendor.resource.js +415 -0
  29. package/dist/nodes/resources/Vendor.resource.js.map +1 -0
  30. package/dist/utils/GenericFunctions.d.ts +6 -0
  31. package/dist/utils/GenericFunctions.js +154 -0
  32. package/dist/utils/GenericFunctions.js.map +1 -0
  33. package/dist/utils/RateLimiter.d.ts +20 -0
  34. package/dist/utils/RateLimiter.js +82 -0
  35. package/dist/utils/RateLimiter.js.map +1 -0
  36. package/dist/utils/Schemas.d.ts +7 -0
  37. package/dist/utils/Schemas.js +207 -0
  38. package/dist/utils/Schemas.js.map +1 -0
  39. package/index.js +4 -0
  40. package/package.json +69 -0
@@ -0,0 +1,14 @@
1
+ import { BaseResource } from './BaseResource';
2
+ import { INodeProperties } from 'n8n-workflow';
3
+ export declare class CreditNoteResource extends BaseResource {
4
+ name: string;
5
+ displayName: string;
6
+ endpoint: string;
7
+ getOperationOptions(): {
8
+ name: string;
9
+ value: string;
10
+ description: string;
11
+ action: string;
12
+ }[];
13
+ getFields(): INodeProperties[];
14
+ }
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreditNoteResource = void 0;
4
+ const BaseResource_1 = require("./BaseResource");
5
+ const Schemas_1 = require("../../utils/Schemas");
6
+ class CreditNoteResource extends BaseResource_1.BaseResource {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.name = 'creditNote';
10
+ this.displayName = 'Credit Note';
11
+ this.endpoint = '/creditnotes';
12
+ }
13
+ getOperationOptions() {
14
+ return [
15
+ {
16
+ name: 'Create',
17
+ value: 'create',
18
+ description: 'Create a new credit note',
19
+ action: 'Create a credit note',
20
+ },
21
+ {
22
+ name: 'Get',
23
+ value: 'get',
24
+ description: 'Get a credit note by ID',
25
+ action: 'Get a credit note',
26
+ },
27
+ {
28
+ name: 'Get All',
29
+ value: 'getAll',
30
+ description: 'Get all credit notes',
31
+ action: 'Get all credit notes',
32
+ },
33
+ {
34
+ name: 'Update',
35
+ value: 'update',
36
+ description: 'Update a credit note',
37
+ action: 'Update a credit note',
38
+ },
39
+ {
40
+ name: 'Void',
41
+ value: 'void',
42
+ description: 'Void a credit note',
43
+ action: 'Void a credit note',
44
+ },
45
+ ];
46
+ }
47
+ getFields() {
48
+ return [
49
+ // Get operation
50
+ this.getIdField('get'),
51
+ // Update operation
52
+ this.getIdField('update'),
53
+ // Void operation
54
+ this.getIdField('void'),
55
+ // Customer ID for create
56
+ {
57
+ displayName: 'Customer ID',
58
+ name: 'customer_id',
59
+ type: 'string',
60
+ required: true,
61
+ displayOptions: {
62
+ show: {
63
+ resource: ['creditNote'],
64
+ operation: ['create'],
65
+ },
66
+ },
67
+ default: '',
68
+ description: 'The ID of the customer',
69
+ },
70
+ // Line items for create/update
71
+ {
72
+ ...Schemas_1.lineItemsField,
73
+ displayOptions: {
74
+ show: {
75
+ resource: ['creditNote'],
76
+ operation: ['create', 'update'],
77
+ },
78
+ },
79
+ required: true,
80
+ },
81
+ // Common fields for getAll
82
+ ...Schemas_1.commonFields,
83
+ // Filters for getAll
84
+ {
85
+ ...Schemas_1.filtersCollection,
86
+ displayOptions: {
87
+ show: {
88
+ resource: ['creditNote'],
89
+ operation: ['getAll'],
90
+ },
91
+ },
92
+ options: [
93
+ {
94
+ displayName: 'Status',
95
+ name: 'status',
96
+ type: 'options',
97
+ options: [
98
+ { name: 'All', value: 'all' },
99
+ { name: 'Draft', value: 'draft' },
100
+ { name: 'Open', value: 'open' },
101
+ { name: 'Closed', value: 'closed' },
102
+ { name: 'Void', value: 'void' },
103
+ ],
104
+ default: 'all',
105
+ description: 'Filter by credit note status',
106
+ },
107
+ {
108
+ displayName: 'Date From',
109
+ name: 'date_from',
110
+ type: 'dateTime',
111
+ default: '',
112
+ description: 'Filter by date from',
113
+ },
114
+ {
115
+ displayName: 'Date To',
116
+ name: 'date_to',
117
+ type: 'dateTime',
118
+ default: '',
119
+ description: 'Filter by date to',
120
+ },
121
+ {
122
+ displayName: 'Sort Column',
123
+ name: 'sort_column',
124
+ type: 'options',
125
+ options: [
126
+ { name: 'Credit Note Number', value: 'creditnote_number' },
127
+ { name: 'Customer Name', value: 'customer_name' },
128
+ { name: 'Date', value: 'date' },
129
+ { name: 'Total', value: 'total' },
130
+ { name: 'Balance', value: 'balance' },
131
+ { name: 'Created Time', value: 'created_time' },
132
+ ],
133
+ default: 'creditnote_number',
134
+ description: 'Column to sort by',
135
+ },
136
+ {
137
+ displayName: 'Sort Order',
138
+ name: 'sort_order',
139
+ type: 'options',
140
+ options: [
141
+ { name: 'Ascending', value: 'A' },
142
+ { name: 'Descending', value: 'D' },
143
+ ],
144
+ default: 'A',
145
+ description: 'Sort order',
146
+ },
147
+ ],
148
+ },
149
+ // Additional fields for create/update
150
+ {
151
+ ...Schemas_1.additionalFieldsCollection,
152
+ displayOptions: {
153
+ show: {
154
+ resource: ['creditNote'],
155
+ operation: ['create', 'update'],
156
+ },
157
+ },
158
+ options: [
159
+ {
160
+ displayName: 'Credit Note Number',
161
+ name: 'creditnote_number',
162
+ type: 'string',
163
+ default: '',
164
+ description: 'Credit note number (auto-generated if not provided)',
165
+ },
166
+ {
167
+ displayName: 'Reference Number',
168
+ name: 'reference_number',
169
+ type: 'string',
170
+ default: '',
171
+ description: 'Reference number for the credit note',
172
+ },
173
+ {
174
+ displayName: 'Date',
175
+ name: 'date',
176
+ type: 'dateTime',
177
+ default: '',
178
+ description: 'The date of the credit note',
179
+ },
180
+ {
181
+ displayName: 'Invoice ID',
182
+ name: 'invoice_id',
183
+ type: 'string',
184
+ default: '',
185
+ description: 'ID of the invoice to apply this credit note to',
186
+ },
187
+ {
188
+ displayName: 'Invoice Number',
189
+ name: 'invoice_number',
190
+ type: 'string',
191
+ default: '',
192
+ description: 'Invoice number to apply this credit note to',
193
+ },
194
+ {
195
+ displayName: 'Discount',
196
+ name: 'discount',
197
+ type: 'number',
198
+ default: 0,
199
+ description: 'Discount amount',
200
+ },
201
+ {
202
+ displayName: 'Is Discount Before Tax',
203
+ name: 'is_discount_before_tax',
204
+ type: 'boolean',
205
+ default: true,
206
+ description: 'Whether to apply discount before tax',
207
+ },
208
+ {
209
+ displayName: 'Discount Type',
210
+ name: 'discount_type',
211
+ type: 'options',
212
+ options: [
213
+ { name: 'Fixed Amount', value: 'entity_level' },
214
+ { name: 'Percentage', value: 'item_level' },
215
+ ],
216
+ default: 'entity_level',
217
+ description: 'Type of discount',
218
+ },
219
+ {
220
+ displayName: 'Exchange Rate',
221
+ name: 'exchange_rate',
222
+ type: 'number',
223
+ default: 1,
224
+ description: 'Exchange rate for foreign currency',
225
+ },
226
+ {
227
+ displayName: 'Salesperson Name',
228
+ name: 'salesperson_name',
229
+ type: 'string',
230
+ default: '',
231
+ description: 'Name of the salesperson',
232
+ },
233
+ {
234
+ displayName: 'Notes',
235
+ name: 'notes',
236
+ type: 'string',
237
+ typeOptions: {
238
+ alwaysOpenEditWindow: true,
239
+ },
240
+ default: '',
241
+ description: 'Notes for the credit note',
242
+ },
243
+ {
244
+ displayName: 'Terms',
245
+ name: 'terms',
246
+ type: 'string',
247
+ typeOptions: {
248
+ alwaysOpenEditWindow: true,
249
+ },
250
+ default: '',
251
+ description: 'Terms and conditions',
252
+ },
253
+ {
254
+ displayName: 'Shipping Charge',
255
+ name: 'shipping_charge',
256
+ type: 'number',
257
+ default: 0,
258
+ description: 'Shipping charges',
259
+ },
260
+ {
261
+ displayName: 'Adjustment',
262
+ name: 'adjustment',
263
+ type: 'number',
264
+ default: 0,
265
+ description: 'Adjustment amount',
266
+ },
267
+ {
268
+ displayName: 'Adjustment Description',
269
+ name: 'adjustment_description',
270
+ type: 'string',
271
+ default: '',
272
+ description: 'Description for the adjustment',
273
+ },
274
+ {
275
+ displayName: 'Reason',
276
+ name: 'reason',
277
+ type: 'string',
278
+ typeOptions: {
279
+ alwaysOpenEditWindow: true,
280
+ },
281
+ default: '',
282
+ description: 'Reason for creating the credit note',
283
+ },
284
+ Schemas_1.customFieldsField,
285
+ ],
286
+ },
287
+ ];
288
+ }
289
+ }
290
+ exports.CreditNoteResource = CreditNoteResource;
291
+ //# sourceMappingURL=CreditNote.resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreditNote.resource.js","sourceRoot":"","sources":["../../../nodes/resources/CreditNote.resource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { BaseResource } from './BaseResource';
2
+ import { INodeProperties } from 'n8n-workflow';
3
+ export declare class InvoiceResource extends BaseResource {
4
+ name: string;
5
+ displayName: string;
6
+ endpoint: string;
7
+ getOperationOptions(): {
8
+ name: string;
9
+ value: string;
10
+ description: string;
11
+ action: string;
12
+ }[];
13
+ getFields(): INodeProperties[];
14
+ }
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvoiceResource = void 0;
4
+ const BaseResource_1 = require("./BaseResource");
5
+ const Schemas_1 = require("../../utils/Schemas");
6
+ class InvoiceResource extends BaseResource_1.BaseResource {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.name = 'invoice';
10
+ this.displayName = 'Invoice';
11
+ this.endpoint = '/invoices';
12
+ }
13
+ getOperationOptions() {
14
+ return [
15
+ {
16
+ name: 'Create',
17
+ value: 'create',
18
+ description: 'Create a new invoice',
19
+ action: 'Create an invoice',
20
+ },
21
+ {
22
+ name: 'Get',
23
+ value: 'get',
24
+ description: 'Get an invoice by ID',
25
+ action: 'Get an invoice',
26
+ },
27
+ {
28
+ name: 'Get All',
29
+ value: 'getAll',
30
+ description: 'Get all invoices',
31
+ action: 'Get all invoices',
32
+ },
33
+ {
34
+ name: 'Update',
35
+ value: 'update',
36
+ description: 'Update an invoice',
37
+ action: 'Update an invoice',
38
+ },
39
+ {
40
+ name: 'Void',
41
+ value: 'void',
42
+ description: 'Void an invoice',
43
+ action: 'Void an invoice',
44
+ },
45
+ ];
46
+ }
47
+ getFields() {
48
+ return [
49
+ // Get operation
50
+ this.getIdField('get'),
51
+ // Update operation
52
+ this.getIdField('update'),
53
+ // Void operation
54
+ this.getIdField('void'),
55
+ // Customer ID for create
56
+ {
57
+ displayName: 'Customer ID',
58
+ name: 'customer_id',
59
+ type: 'string',
60
+ required: true,
61
+ displayOptions: {
62
+ show: {
63
+ resource: ['invoice'],
64
+ operation: ['create'],
65
+ },
66
+ },
67
+ default: '',
68
+ description: 'The ID of the customer',
69
+ },
70
+ // Line items for create/update
71
+ {
72
+ ...Schemas_1.lineItemsField,
73
+ displayOptions: {
74
+ show: {
75
+ resource: ['invoice'],
76
+ operation: ['create', 'update'],
77
+ },
78
+ },
79
+ required: true,
80
+ },
81
+ // Common fields for getAll
82
+ ...Schemas_1.commonFields,
83
+ // Filters for getAll
84
+ {
85
+ ...Schemas_1.filtersCollection,
86
+ displayOptions: {
87
+ show: {
88
+ resource: ['invoice'],
89
+ operation: ['getAll'],
90
+ },
91
+ },
92
+ options: [
93
+ ...Schemas_1.filtersCollection.options,
94
+ {
95
+ displayName: 'Status',
96
+ name: 'status',
97
+ type: 'options',
98
+ options: [
99
+ { name: 'All', value: 'all' },
100
+ { name: 'Draft', value: 'draft' },
101
+ { name: 'Sent', value: 'sent' },
102
+ { name: 'Paid', value: 'paid' },
103
+ { name: 'Void', value: 'void' },
104
+ { name: 'Overdue', value: 'overdue' },
105
+ { name: 'Partially Paid', value: 'partially_paid' },
106
+ ],
107
+ default: 'all',
108
+ description: 'Filter by invoice status',
109
+ },
110
+ ],
111
+ },
112
+ // Additional fields for create/update
113
+ {
114
+ ...Schemas_1.additionalFieldsCollection,
115
+ displayOptions: {
116
+ show: {
117
+ resource: ['invoice'],
118
+ operation: ['create', 'update'],
119
+ },
120
+ },
121
+ options: [
122
+ {
123
+ displayName: 'Invoice Number',
124
+ name: 'invoice_number',
125
+ type: 'string',
126
+ default: '',
127
+ description: 'Invoice number (auto-generated if not provided)',
128
+ },
129
+ {
130
+ displayName: 'Reference Number',
131
+ name: 'reference_number',
132
+ type: 'string',
133
+ default: '',
134
+ description: 'Reference number for the invoice',
135
+ },
136
+ {
137
+ displayName: 'Date',
138
+ name: 'date',
139
+ type: 'dateTime',
140
+ default: '',
141
+ description: 'The date of the invoice',
142
+ },
143
+ {
144
+ displayName: 'Due Date',
145
+ name: 'due_date',
146
+ type: 'dateTime',
147
+ default: '',
148
+ description: 'Payment due date',
149
+ },
150
+ {
151
+ displayName: 'Payment Terms',
152
+ name: 'payment_terms',
153
+ type: 'number',
154
+ default: 0,
155
+ description: 'Payment terms in days',
156
+ },
157
+ {
158
+ displayName: 'Discount',
159
+ name: 'discount',
160
+ type: 'number',
161
+ default: 0,
162
+ description: 'Discount amount',
163
+ },
164
+ {
165
+ displayName: 'Is Discount Before Tax',
166
+ name: 'is_discount_before_tax',
167
+ type: 'boolean',
168
+ default: true,
169
+ description: 'Whether to apply discount before tax',
170
+ },
171
+ {
172
+ displayName: 'Discount Type',
173
+ name: 'discount_type',
174
+ type: 'options',
175
+ options: [
176
+ { name: 'Fixed Amount', value: 'entity_level' },
177
+ { name: 'Percentage', value: 'item_level' },
178
+ ],
179
+ default: 'entity_level',
180
+ description: 'Type of discount',
181
+ },
182
+ {
183
+ displayName: 'Exchange Rate',
184
+ name: 'exchange_rate',
185
+ type: 'number',
186
+ default: 1,
187
+ description: 'Exchange rate for foreign currency',
188
+ },
189
+ {
190
+ displayName: 'Salesperson Name',
191
+ name: 'salesperson_name',
192
+ type: 'string',
193
+ default: '',
194
+ description: 'Name of the salesperson',
195
+ },
196
+ {
197
+ displayName: 'Notes',
198
+ name: 'notes',
199
+ type: 'string',
200
+ typeOptions: {
201
+ alwaysOpenEditWindow: true,
202
+ },
203
+ default: '',
204
+ description: 'Notes for the invoice',
205
+ },
206
+ {
207
+ displayName: 'Terms',
208
+ name: 'terms',
209
+ type: 'string',
210
+ typeOptions: {
211
+ alwaysOpenEditWindow: true,
212
+ },
213
+ default: '',
214
+ description: 'Terms and conditions',
215
+ },
216
+ {
217
+ displayName: 'Shipping Charge',
218
+ name: 'shipping_charge',
219
+ type: 'number',
220
+ default: 0,
221
+ description: 'Shipping charges',
222
+ },
223
+ {
224
+ displayName: 'Adjustment',
225
+ name: 'adjustment',
226
+ type: 'number',
227
+ default: 0,
228
+ description: 'Adjustment amount',
229
+ },
230
+ {
231
+ displayName: 'Adjustment Description',
232
+ name: 'adjustment_description',
233
+ type: 'string',
234
+ default: '',
235
+ description: 'Description for the adjustment',
236
+ },
237
+ {
238
+ displayName: 'Is Inclusive Tax',
239
+ name: 'is_inclusive_tax',
240
+ type: 'boolean',
241
+ default: false,
242
+ description: 'Whether tax is inclusive in item prices',
243
+ },
244
+ Schemas_1.customFieldsField,
245
+ ],
246
+ },
247
+ ];
248
+ }
249
+ }
250
+ exports.InvoiceResource = InvoiceResource;
251
+ //# sourceMappingURL=Invoice.resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Invoice.resource.js","sourceRoot":"","sources":["../../../nodes/resources/Invoice.resource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { BaseResource } from './BaseResource';
2
+ import { INodeProperties } from 'n8n-workflow';
3
+ export declare class ItemResource extends BaseResource {
4
+ name: string;
5
+ displayName: string;
6
+ endpoint: string;
7
+ getOperationOptions(): {
8
+ name: string;
9
+ value: string;
10
+ description: string;
11
+ action: string;
12
+ }[];
13
+ getFields(): INodeProperties[];
14
+ }