n8n-nodes-nokfi 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -5
- package/dist/nodes/Nokfi/Nokfi.node.js +473 -12
- package/dist/nodes/Nokfi/Nokfi.node.js.map +1 -1
- package/dist/nodes/NokfiTrigger/NokfiTrigger.node.js +35 -6
- package/dist/nodes/NokfiTrigger/NokfiTrigger.node.js.map +1 -1
- package/dist/package.json +5 -2
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
This is an n8n community node for [Nokfi](https://nokfi.app): the AI for small-business documents and finance.
|
|
4
4
|
|
|
5
|
+
- **Issue invoices** in your name: gap-free numbering, VAT, IRPF withholding and equivalence surcharge computed by Nokfi, added to your books, with PDF, e-invoice (UBL 2.5, Facturae, Factur-X) and the VERI*FACTU record. Rectify, cancel, mark as paid or rejected, and download them.
|
|
5
6
|
- **Extract invoices** from PDFs, images or text and get the same JSON every time, with **validation done by Nokfi, not by the AI**: totals (base + VAT − withholding = total), Spanish NIF/CIF/NIE check digits, dates and usual VAT rates.
|
|
6
7
|
- **Run financial analyses** (sales, cash, stock, purchases, profit, two-period comparison, document folders) and get a structured report: summary, key figures, priorities and an action plan.
|
|
7
8
|
- **Spanish tax tools without AI** (no quota): validate NIF/NIE/CIF, VAT with the equivalence surcharge, IRPF withholding, Modelo 130 and the tax calendar.
|
|
8
9
|
- **Nokfi Trigger**: start a workflow when an analysis or a background job finishes, when your quota reaches 80 % or 100 %, or 7 days and 1 day before each tax deadline. Signed webhooks, registered automatically.
|
|
9
|
-
- **Check your usage** (plan, daily
|
|
10
|
+
- **Check your usage** (plan, daily credits, credits used today and credit pack balance; 1 credit = 1 AI analysis or invoice reading).
|
|
10
11
|
|
|
11
12
|
Data is processed by AI providers that do not train on it. Invoices sent through the API are not stored.
|
|
12
13
|
|
|
@@ -21,7 +22,7 @@ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes
|
|
|
21
22
|
1. Sign in to Nokfi and open **Developers → Keys**.
|
|
22
23
|
2. Create a key. Name it after the client or workflow: Nokfi shows the usage of each key separately.
|
|
23
24
|
- **Live keys** (`nk_live_…`, Pro and Max plans) work with your data and use your quota.
|
|
24
|
-
- **Test keys** (`nk_test_…`, every plan) validate input the same way and return realistic sample data, without using quota. Build and test with them, then switch.
|
|
25
|
+
- **Test keys** (`nk_test_…`, every plan) validate input the same way and return realistic sample data, without using quota. Test mode is separate from live: a test key never sees your real analyses, customers, books or webhooks. Build and test with them, then switch.
|
|
25
26
|
3. In n8n, create a **Nokfi API** credential and paste the key. Leave the base URL as `https://nokfi.app`.
|
|
26
27
|
|
|
27
28
|
The credential test calls `GET /api/v1/usage`.
|
|
@@ -30,23 +31,35 @@ The credential test calls `GET /api/v1/usage`.
|
|
|
30
31
|
|
|
31
32
|
| Resource | Operation | What it does |
|
|
32
33
|
|---|---|---|
|
|
34
|
+
| Invoice | Issue | Issues an invoice: customer from your address book (ID), typed in (saved to the address book) or none (simplified invoice, up to 400 € VAT included); one or more lines; optional withholding, equivalence surcharge, exemption, dates, series and language. Returns the invoice with its number and totals. |
|
|
35
|
+
| Invoice | Rectify | Corrective invoice for the difference (lines usually with a negative quantity) and a reason. |
|
|
36
|
+
| Invoice | Cancel | Cancels an invoice issued by mistake: kept as cancelled, out of your books, with its VERI*FACTU cancellation record. |
|
|
37
|
+
| Invoice | Set Status | Rejected (with reason) or accepted again; paid (with date) or unpaid. |
|
|
38
|
+
| Invoice | Get / Get Many | An invoice with lines, events and VERI*FACTU record; or the list, with date, status and search filters. |
|
|
39
|
+
| Invoice | Download | PDF or e-invoice (UBL 2.5, Facturae 3.2.2, Factur-X, CII) into a binary field, ready to attach to an email. |
|
|
33
40
|
| Invoice | Extract | Reads up to 5 documents per request (PDF, JPG, PNG, WebP or text). Use `*` as the binary field to send every attachment of the item. Outputs one item per invoice (or one item with all of them). |
|
|
34
41
|
| Analysis | Create | Runs an analysis. For spreadsheets, "All Input Items as Rows" sends the whole input (e.g. a Google Sheets node) as one table. |
|
|
35
42
|
| Analysis | Get / Get Many | Reads reports you already have. |
|
|
43
|
+
| Analysis | Rename / Delete | Changes the title of a saved report, or deletes it with its action plan (the credit is not returned). With a test key they return "not found". |
|
|
44
|
+
| Customer | Get Many / Create | Lists or searches your address book, or adds a customer (with a test key the list is empty and a new customer is only validated). |
|
|
45
|
+
| Job | Get | Status and result of a background job (*Run in Background*), kept 24 h. |
|
|
36
46
|
| Tax | Validate Tax ID | NIF, NIE or CIF check digit, entity type and EU VAT number. |
|
|
37
47
|
| Tax | Calculate VAT | VAT with or without VAT included, plus the equivalence surcharge. |
|
|
38
48
|
| Tax | Calculate Withholding | IRPF withholding (professional 15 %, new professional 7 %, rental 19 %…) and the invoice total. |
|
|
39
49
|
| Tax | Estimate Modelo 130 | From your year-to-date figures or from your Nokfi ledger. |
|
|
50
|
+
| Tax | Get Quarter Summary | VAT (303) and IRPF (130) of a quarter from your Nokfi ledger. |
|
|
40
51
|
| Tax | Get Fiscal Calendar | Upcoming deadlines (303, 130, 111, 115, 390…) with days left, one item each. |
|
|
41
52
|
| Usage | Get | Plan, daily quota and analyses used today. |
|
|
42
53
|
|
|
43
|
-
|
|
54
|
+
Issuing and managing invoices uses no AI and no quota; your issuer details (legal name, tax ID, address) are filled in once in the Nokfi app. Issued invoices are never edited: rectify or cancel them. With a test key, invoices are test documents (`TEST-` numbering) that never reach your books or the tax agency. Every Issue and Rectify request carries an `Idempotency-Key` (set your own, e.g. the order ID, in *Additional Fields*): for **30 days** the same key returns the same invoice instead of issuing a new one; after that it can be used again.
|
|
44
55
|
|
|
45
|
-
**
|
|
56
|
+
Every invoice extraction and every analysis uses **1 analysis from your daily quota** (the same quota as the web app); the tax tools use none. Maximum 30 requests per minute per key. Requests carry an `Idempotency-Key`, so n8n's *Retry On Fail* never charges twice (keys last 24 h; errors are not stored, so a retry after an error really runs). Rate-limited responses (429) carry a `Retry-After` header.
|
|
57
|
+
|
|
58
|
+
**Run in Background**: Invoice › Extract and Analysis › Create can return a job right away (`?async=true`). Pair it with the Nokfi Trigger (*Job Completed*) or Job › Get to get the result.
|
|
46
59
|
|
|
47
60
|
### Nokfi Trigger
|
|
48
61
|
|
|
49
|
-
Choose the events and activate the workflow: the trigger registers its webhook in Nokfi (you'll see it in **Developers → Webhooks**) and deletes it when you deactivate the workflow. Every request is checked against the `Nokfi-Signature` HMAC; unsigned or old requests get a 401. Your n8n instance must be reachable on a public https URL.
|
|
62
|
+
Choose the events and activate the workflow: the trigger registers its webhook in Nokfi (you'll see it in **Developers → Webhooks**) and deletes it when you deactivate the workflow. Every request is checked against the `Nokfi-Signature` HMAC; unsigned or old requests get a 401. Your n8n instance must be reachable on a public https URL. If Nokfi disabled the webhook after too many failed deliveries, or you changed the events, the trigger reactivates and updates it the next time the workflow is activated. **Only Live Events** is on by default; a webhook created with a test key only receives test events, so turn it off while you build with a test key.
|
|
50
63
|
|
|
51
64
|
| Event | When |
|
|
52
65
|
|---|---|
|
|
@@ -54,6 +67,8 @@ Choose the events and activate the workflow: the trigger registers its webhook i
|
|
|
54
67
|
| Job Completed / Job Failed | A background job finished. Includes the result or the error. |
|
|
55
68
|
| Quota Threshold | You reached 80 % or 100 % of today's quota. |
|
|
56
69
|
| Fiscal Deadline | A tax deadline is 7 days or 1 day away (according to your legal form). |
|
|
70
|
+
| Invoice Issued / Cancelled / Paid / Unpaid / Rejected / Rejection Undone | Something happened to an invoice (from the API, the MCP or the web app). Includes a summary: id, number, totals, customer, status. |
|
|
71
|
+
| VERI*FACTU Record Accepted / Rejected | The Spanish tax agency answered an invoice record (with the error code when rejected). |
|
|
57
72
|
|
|
58
73
|
### Invoice output
|
|
59
74
|
|
|
@@ -76,6 +91,8 @@ Documents that cannot be read come out as items with `is_invoice: false` and an
|
|
|
76
91
|
- **Weekly sales report**: Schedule Trigger → Google Sheets (read) → Nokfi (Analysis › Create, Sales, All Input Items as Rows) → Send Email with `{{ $json.report.summary }}`.
|
|
77
92
|
- **Tax deadline reminder to Slack**: Nokfi Trigger (Fiscal Deadline) → Slack with `{{ $json.data.models.join(', ') }} due on {{ $json.data.date }}`.
|
|
78
93
|
- **Background invoice batch**: Nokfi (Invoice › Extract, Run in Background) in one workflow, Nokfi Trigger (Job Completed) → Google Sheets in another.
|
|
94
|
+
- **Invoice every paid order**: Shopify/WooCommerce Trigger (order paid) → Nokfi (Invoice › Issue, Idempotency Key `{{ $json.id }}`) → Nokfi (Invoice › Download, PDF) → Gmail (send with the attachment).
|
|
95
|
+
- **Chase rejected invoices**: Nokfi Trigger (Invoice Rejected) → Slack with `{{ $json.data.number }}: {{ $json.data.reason }}`.
|
|
79
96
|
- **AI Agent tool**: the node can be used as a tool by n8n's AI Agent.
|
|
80
97
|
|
|
81
98
|
## Resources
|
|
@@ -84,6 +101,17 @@ Documents that cannot be read come out as items with `is_invoice: false` and an
|
|
|
84
101
|
- [OpenAPI specification](https://nokfi.app/api/v1/openapi.json)
|
|
85
102
|
- [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
|
|
86
103
|
|
|
104
|
+
## Source and publishing
|
|
105
|
+
|
|
106
|
+
The source of truth for this node is the Nokfi repository, folder `integrations/n8n/`:
|
|
107
|
+
every change is made and reviewed there first, together with the API change it needs.
|
|
108
|
+
The [`n8n-nodes-nokfi`](https://github.com/m4r10-tech/n8n-nodes-nokfi) repository is the
|
|
109
|
+
copy that gets published (n8n requires publishing from GitHub Actions with npm provenance).
|
|
110
|
+
To sync it, copy everything from `integrations/n8n/` into that repository except
|
|
111
|
+
`node_modules/`, `dist/`, `.git/`, `.github/`, `.gitignore` and `.prettierrc.js` (those only
|
|
112
|
+
exist there), run `npm run lint` and `npm run build`, and commit. Pushing a `vX.Y.Z` tag
|
|
113
|
+
there publishes that version to npm. Never edit the published copy directly.
|
|
114
|
+
|
|
87
115
|
## Compatibility
|
|
88
116
|
|
|
89
117
|
Built with `@n8n/node-cli` and tested with n8n 1.x. No runtime dependencies.
|
|
@@ -4,6 +4,7 @@ exports.Nokfi = void 0;
|
|
|
4
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
5
|
const MAX_DOCS_PER_REQUEST = 5;
|
|
6
6
|
const IMAGE_TYPES = ['image/jpeg', 'image/png', 'image/webp'];
|
|
7
|
+
const XML_TYPES = ['application/xml', 'text/xml'];
|
|
7
8
|
class Nokfi {
|
|
8
9
|
constructor() {
|
|
9
10
|
this.description = {
|
|
@@ -13,7 +14,7 @@ class Nokfi {
|
|
|
13
14
|
group: ['transform'],
|
|
14
15
|
version: 1,
|
|
15
16
|
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
|
|
16
|
-
description: '
|
|
17
|
+
description: 'Issue, extract and validate invoices, run financial analyses and Spanish tax calculations for small businesses with Nokfi',
|
|
17
18
|
defaults: { name: 'Nokfi' },
|
|
18
19
|
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
19
20
|
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
@@ -26,8 +27,10 @@ class Nokfi {
|
|
|
26
27
|
type: 'options',
|
|
27
28
|
noDataExpression: true,
|
|
28
29
|
options: [
|
|
29
|
-
{ name: 'Invoice', value: 'invoice' },
|
|
30
30
|
{ name: 'Analysis', value: 'analysis' },
|
|
31
|
+
{ name: 'Customer', value: 'customer' },
|
|
32
|
+
{ name: 'Invoice', value: 'invoice' },
|
|
33
|
+
{ name: 'Job', value: 'job' },
|
|
31
34
|
{ name: 'Tax', value: 'tax' },
|
|
32
35
|
{ name: 'Usage', value: 'usage' },
|
|
33
36
|
],
|
|
@@ -40,15 +43,292 @@ class Nokfi {
|
|
|
40
43
|
noDataExpression: true,
|
|
41
44
|
displayOptions: { show: { resource: ['invoice'] } },
|
|
42
45
|
options: [
|
|
46
|
+
{ name: 'Cancel', value: 'cancel', action: 'Cancel an invoice', description: 'Cancel an invoice issued by mistake (it is kept as cancelled and leaves your books)' },
|
|
47
|
+
{ name: 'Download', value: 'download', action: 'Download an invoice', description: 'PDF or e-invoice (UBL 2.5, Facturae 3.2.2, Factur-X, CII) as binary data' },
|
|
43
48
|
{
|
|
44
49
|
name: 'Extract',
|
|
45
50
|
value: 'extract',
|
|
46
51
|
action: 'Extract invoice data',
|
|
47
|
-
description: 'Read invoices (PDF, JPG, PNG, WebP or
|
|
52
|
+
description: 'Read invoices (PDF, JPG, PNG, WebP, text or e-invoice XML) and return structured data with validation checks',
|
|
48
53
|
},
|
|
54
|
+
{ name: 'Get', value: 'get', action: 'Get an invoice', description: 'Get an issued invoice with its lines, events and VERI*FACTU record' },
|
|
55
|
+
{ name: 'Get Many', value: 'getAll', action: 'Get many invoices', description: 'List issued invoices' },
|
|
56
|
+
{ name: 'Issue', value: 'issue', action: 'Issue an invoice', description: 'Issue a numbered invoice in your name: added to your books, with PDF, e-invoice and VERI*FACTU record' },
|
|
57
|
+
{ name: 'Rectify', value: 'rectify', action: 'Rectify an invoice', description: 'Issue a corrective invoice for the difference' },
|
|
58
|
+
{ name: 'Set Status', value: 'setStatus', action: 'Set the status of an invoice', description: 'Rejected or accepted by the customer, paid or unpaid' },
|
|
49
59
|
],
|
|
50
60
|
default: 'extract',
|
|
51
61
|
},
|
|
62
|
+
{
|
|
63
|
+
displayName: 'Invoice ID',
|
|
64
|
+
name: 'invoiceId',
|
|
65
|
+
type: 'number',
|
|
66
|
+
required: true,
|
|
67
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['cancel', 'download', 'get', 'rectify', 'setStatus'] } },
|
|
68
|
+
default: 0,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
displayName: 'Customer',
|
|
72
|
+
name: 'customerMode',
|
|
73
|
+
type: 'options',
|
|
74
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['issue'] } },
|
|
75
|
+
options: [
|
|
76
|
+
{ name: 'Customer Details', value: 'details', description: 'Saved to your Nokfi address book' },
|
|
77
|
+
{ name: 'Customer ID', value: 'id', description: 'A customer from your Nokfi address book' },
|
|
78
|
+
{ name: 'No Customer (Simplified Invoice)', value: 'none', description: 'Up to 400 € VAT included' },
|
|
79
|
+
],
|
|
80
|
+
default: 'details',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
displayName: 'Customer ID',
|
|
84
|
+
name: 'customerId',
|
|
85
|
+
type: 'number',
|
|
86
|
+
required: true,
|
|
87
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['issue'], customerMode: ['id'] } },
|
|
88
|
+
default: 0,
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
displayName: 'Customer Details',
|
|
92
|
+
name: 'customer',
|
|
93
|
+
type: 'collection',
|
|
94
|
+
placeholder: 'Add Field',
|
|
95
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['issue'], customerMode: ['details'] } },
|
|
96
|
+
default: {},
|
|
97
|
+
description: 'Name and tax ID are needed for a full invoice',
|
|
98
|
+
options: [
|
|
99
|
+
{ displayName: 'Address', name: 'address', type: 'string', default: '' },
|
|
100
|
+
{ displayName: 'City', name: 'city', type: 'string', default: '' },
|
|
101
|
+
{ displayName: 'Country', name: 'country', type: 'string', default: 'ES', description: 'ISO 3166-1 alpha-2 code' },
|
|
102
|
+
{ displayName: 'Email', name: 'email', type: 'string', placeholder: 'name@email.com', default: '' },
|
|
103
|
+
{ displayName: 'Name', name: 'name', type: 'string', default: '' },
|
|
104
|
+
{ displayName: 'Postal Code', name: 'postal_code', type: 'string', default: '' },
|
|
105
|
+
{ displayName: 'Province', name: 'province', type: 'string', default: '' },
|
|
106
|
+
{ displayName: 'Tax ID', name: 'tax_id', type: 'string', default: '', placeholder: 'B12345674' },
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
displayName: 'Lines',
|
|
111
|
+
name: 'lines',
|
|
112
|
+
type: 'fixedCollection',
|
|
113
|
+
typeOptions: { multipleValues: true },
|
|
114
|
+
placeholder: 'Add Line',
|
|
115
|
+
required: true,
|
|
116
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['issue', 'rectify'] } },
|
|
117
|
+
default: {},
|
|
118
|
+
description: 'For a corrective invoice, the difference (usually with a negative quantity)',
|
|
119
|
+
options: [
|
|
120
|
+
{
|
|
121
|
+
displayName: 'Line',
|
|
122
|
+
name: 'line',
|
|
123
|
+
values: [
|
|
124
|
+
{ displayName: 'Description', name: 'description', type: 'string', default: '' },
|
|
125
|
+
{ displayName: 'Discount %', name: 'discount_pct', type: 'number', default: 0 },
|
|
126
|
+
{ displayName: 'Quantity', name: 'quantity', type: 'number', typeOptions: { numberPrecision: 3 }, default: 1 },
|
|
127
|
+
{ displayName: 'Unit', name: 'unit', type: 'string', default: '', placeholder: 'h' },
|
|
128
|
+
{ displayName: 'Unit Price', name: 'unit_price', type: 'number', typeOptions: { numberPrecision: 4 }, default: 0, description: 'Without VAT' },
|
|
129
|
+
{
|
|
130
|
+
displayName: 'VAT Rate',
|
|
131
|
+
name: 'vat_rate',
|
|
132
|
+
type: 'options',
|
|
133
|
+
options: [
|
|
134
|
+
{ name: '0 %', value: 0 },
|
|
135
|
+
{ name: '10 %', value: 10 },
|
|
136
|
+
{ name: '21 %', value: 21 },
|
|
137
|
+
{ name: '4 %', value: 4 },
|
|
138
|
+
],
|
|
139
|
+
default: 21,
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
displayName: 'Rectification Reason',
|
|
147
|
+
name: 'rectificationReason',
|
|
148
|
+
type: 'string',
|
|
149
|
+
required: true,
|
|
150
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['rectify'] } },
|
|
151
|
+
default: '',
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
displayName: 'Additional Fields',
|
|
155
|
+
name: 'invoiceFields',
|
|
156
|
+
type: 'collection',
|
|
157
|
+
placeholder: 'Add Field',
|
|
158
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['issue', 'rectify'] } },
|
|
159
|
+
default: {},
|
|
160
|
+
options: [
|
|
161
|
+
{ displayName: 'Due Date', name: 'due_date', type: 'string', default: '', placeholder: 'YYYY-MM-DD' },
|
|
162
|
+
{ displayName: 'Equivalence Surcharge', name: 'equivalence_surcharge', type: 'boolean', default: false, description: 'Whether the customer is in the recargo de equivalencia regime' },
|
|
163
|
+
{
|
|
164
|
+
displayName: 'Exemption (0 % VAT Lines)',
|
|
165
|
+
name: 'exemption',
|
|
166
|
+
type: 'options',
|
|
167
|
+
options: [
|
|
168
|
+
{ name: 'E1 · Exempt (Art. 20)', value: 'E1' },
|
|
169
|
+
{ name: 'E2 · Export (Art. 21)', value: 'E2' },
|
|
170
|
+
{ name: 'E3 · Exempt (Art. 22)', value: 'E3' },
|
|
171
|
+
{ name: 'E4 · Exempt (Arts. 23-24)', value: 'E4' },
|
|
172
|
+
{ name: 'E5 · Intra-EU Supply (Art. 25)', value: 'E5' },
|
|
173
|
+
{ name: 'E6 · Exempt (Other)', value: 'E6' },
|
|
174
|
+
{ name: 'N1 · Not Subject', value: 'N1' },
|
|
175
|
+
{ name: 'N2 · Not Subject (Place of Supply)', value: 'N2' },
|
|
176
|
+
{ name: 'S2 · Reverse Charge', value: 'S2' },
|
|
177
|
+
],
|
|
178
|
+
default: 'E1',
|
|
179
|
+
},
|
|
180
|
+
{ displayName: 'Idempotency Key', name: 'idempotencyKey', type: 'string', default: '', description: 'E.g. the order ID: for 30 days, the same key returns the same invoice instead of issuing a new one, even across executions. After 30 days the key can be used again.' },
|
|
181
|
+
{
|
|
182
|
+
displayName: 'Invoice Language',
|
|
183
|
+
name: 'lang',
|
|
184
|
+
type: 'options',
|
|
185
|
+
options: [
|
|
186
|
+
{ name: 'English', value: 'en' },
|
|
187
|
+
{ name: 'French', value: 'fr' },
|
|
188
|
+
{ name: 'German', value: 'de' },
|
|
189
|
+
{ name: 'Italian', value: 'it' },
|
|
190
|
+
{ name: 'Polish', value: 'pl' },
|
|
191
|
+
{ name: 'Spanish', value: 'es' },
|
|
192
|
+
],
|
|
193
|
+
default: 'es',
|
|
194
|
+
},
|
|
195
|
+
{ displayName: 'Issue Date', name: 'issue_date', type: 'string', default: '', placeholder: 'YYYY-MM-DD', description: 'Today by default' },
|
|
196
|
+
{ displayName: 'Notes', name: 'notes', type: 'string', default: '' },
|
|
197
|
+
{ displayName: 'Operation Date', name: 'operation_date', type: 'string', default: '', placeholder: 'YYYY-MM-DD' },
|
|
198
|
+
{
|
|
199
|
+
displayName: 'Payment Method',
|
|
200
|
+
name: 'payment_method',
|
|
201
|
+
type: 'options',
|
|
202
|
+
options: [
|
|
203
|
+
{ name: 'Bank Transfer', value: 'transfer' },
|
|
204
|
+
{ name: 'Card', value: 'card' },
|
|
205
|
+
{ name: 'Cash', value: 'cash' },
|
|
206
|
+
{ name: 'Direct Debit', value: 'direct_debit' },
|
|
207
|
+
{ name: 'Other', value: 'other' },
|
|
208
|
+
],
|
|
209
|
+
default: 'transfer',
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
displayName: 'Rectification Type',
|
|
213
|
+
name: 'rectification_kind',
|
|
214
|
+
type: 'options',
|
|
215
|
+
options: [
|
|
216
|
+
{ name: 'R1 · Legal Error or Art. 80.1/80.2/80.6', value: 'R1' },
|
|
217
|
+
{ name: 'R2 · Insolvency (Art. 80.3)', value: 'R2' },
|
|
218
|
+
{ name: 'R3 · Bad Debt (Art. 80.4)', value: 'R3' },
|
|
219
|
+
{ name: 'R4 · Other', value: 'R4' },
|
|
220
|
+
{ name: 'R5 · Of a Simplified Invoice', value: 'R5' },
|
|
221
|
+
],
|
|
222
|
+
default: 'R1',
|
|
223
|
+
},
|
|
224
|
+
{ displayName: 'Series', name: 'series', type: 'string', default: '', placeholder: 'F' },
|
|
225
|
+
{
|
|
226
|
+
displayName: 'Withholding (IRPF)',
|
|
227
|
+
name: 'irpf_rate',
|
|
228
|
+
type: 'options',
|
|
229
|
+
options: [
|
|
230
|
+
{ name: '0 %', value: 0 },
|
|
231
|
+
{ name: '1 %', value: 1 },
|
|
232
|
+
{ name: '15 %', value: 15 },
|
|
233
|
+
{ name: '19 %', value: 19 },
|
|
234
|
+
{ name: '2 %', value: 2 },
|
|
235
|
+
{ name: '7 %', value: 7 },
|
|
236
|
+
],
|
|
237
|
+
default: 0,
|
|
238
|
+
},
|
|
239
|
+
],
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
displayName: 'Reason',
|
|
243
|
+
name: 'cancelReason',
|
|
244
|
+
type: 'string',
|
|
245
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['cancel'] } },
|
|
246
|
+
default: '',
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
displayName: 'Status',
|
|
250
|
+
name: 'invoiceStatus',
|
|
251
|
+
type: 'options',
|
|
252
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['setStatus'] } },
|
|
253
|
+
options: [
|
|
254
|
+
{ name: 'Accepted (Undo Rejection)', value: 'accepted' },
|
|
255
|
+
{ name: 'Paid', value: 'paid' },
|
|
256
|
+
{ name: 'Rejected by the Customer', value: 'rejected' },
|
|
257
|
+
{ name: 'Unpaid (Undo Payment)', value: 'unpaid' },
|
|
258
|
+
],
|
|
259
|
+
default: 'paid',
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
displayName: 'Rejection Reason',
|
|
263
|
+
name: 'statusReason',
|
|
264
|
+
type: 'string',
|
|
265
|
+
required: true,
|
|
266
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['setStatus'], invoiceStatus: ['rejected'] } },
|
|
267
|
+
default: '',
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
displayName: 'Payment Date',
|
|
271
|
+
name: 'statusDate',
|
|
272
|
+
type: 'string',
|
|
273
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['setStatus'], invoiceStatus: ['paid'] } },
|
|
274
|
+
default: '',
|
|
275
|
+
placeholder: 'YYYY-MM-DD',
|
|
276
|
+
description: 'Today by default',
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
displayName: 'Format',
|
|
280
|
+
name: 'format',
|
|
281
|
+
type: 'options',
|
|
282
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['download'] } },
|
|
283
|
+
options: [
|
|
284
|
+
{ name: 'CII (XML)', value: 'cii' },
|
|
285
|
+
{ name: 'Factur-X (PDF with XML)', value: 'facturx' },
|
|
286
|
+
{ name: 'Facturae 3.2.2 (XML)', value: 'facturae' },
|
|
287
|
+
{ name: 'PDF', value: 'pdf' },
|
|
288
|
+
{ name: 'UBL 2.5 (XML)', value: 'ubl' },
|
|
289
|
+
],
|
|
290
|
+
default: 'pdf',
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
displayName: 'Put Output File in Field',
|
|
294
|
+
name: 'outputBinaryField',
|
|
295
|
+
type: 'string',
|
|
296
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['download'] } },
|
|
297
|
+
default: 'data',
|
|
298
|
+
hint: 'The name of the output binary field to put the file in',
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
displayName: 'Filters',
|
|
302
|
+
name: 'invoiceFilters',
|
|
303
|
+
type: 'collection',
|
|
304
|
+
placeholder: 'Add Filter',
|
|
305
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['getAll'] } },
|
|
306
|
+
default: {},
|
|
307
|
+
options: [
|
|
308
|
+
{ displayName: 'From', name: 'from', type: 'string', default: '', placeholder: 'YYYY-MM-DD' },
|
|
309
|
+
{ displayName: 'Search', name: 'q', type: 'string', default: '', description: 'Invoice number, customer name or tax ID' },
|
|
310
|
+
{
|
|
311
|
+
displayName: 'Status',
|
|
312
|
+
name: 'status',
|
|
313
|
+
type: 'options',
|
|
314
|
+
options: [
|
|
315
|
+
{ name: 'Cancelled', value: 'cancelled' },
|
|
316
|
+
{ name: 'Issued', value: 'issued' },
|
|
317
|
+
],
|
|
318
|
+
default: 'issued',
|
|
319
|
+
},
|
|
320
|
+
{ displayName: 'To', name: 'to', type: 'string', default: '', placeholder: 'YYYY-MM-DD' },
|
|
321
|
+
],
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
displayName: 'Limit',
|
|
325
|
+
name: 'invoiceLimit',
|
|
326
|
+
type: 'number',
|
|
327
|
+
typeOptions: { minValue: 1, maxValue: 500 },
|
|
328
|
+
displayOptions: { show: { resource: ['invoice'], operation: ['getAll'] } },
|
|
329
|
+
default: 50,
|
|
330
|
+
description: 'Max number of results to return',
|
|
331
|
+
},
|
|
52
332
|
{
|
|
53
333
|
displayName: 'Input',
|
|
54
334
|
name: 'inputMode',
|
|
@@ -97,8 +377,10 @@ class Nokfi {
|
|
|
97
377
|
displayOptions: { show: { resource: ['analysis'] } },
|
|
98
378
|
options: [
|
|
99
379
|
{ name: 'Create', value: 'create', action: 'Create an analysis', description: 'Run an AI financial analysis and get a structured report' },
|
|
380
|
+
{ name: 'Delete', value: 'delete', action: 'Delete an analysis', description: 'Delete a saved analysis and its action plan (the credit is not returned)' },
|
|
100
381
|
{ name: 'Get', value: 'get', action: 'Get an analysis', description: 'Get a report by ID' },
|
|
101
382
|
{ name: 'Get Many', value: 'getAll', action: 'Get many analyses', description: 'List your latest analyses' },
|
|
383
|
+
{ name: 'Rename', value: 'rename', action: 'Rename an analysis', description: 'Change the title of a saved analysis' },
|
|
102
384
|
],
|
|
103
385
|
default: 'create',
|
|
104
386
|
},
|
|
@@ -162,8 +444,19 @@ class Nokfi {
|
|
|
162
444
|
name: 'analysisId',
|
|
163
445
|
type: 'number',
|
|
164
446
|
required: true,
|
|
165
|
-
displayOptions: { show: { resource: ['analysis'], operation: ['get'] } },
|
|
447
|
+
displayOptions: { show: { resource: ['analysis'], operation: ['get', 'rename', 'delete'] } },
|
|
166
448
|
default: 0,
|
|
449
|
+
description: 'With a test key (nk_test_…) there are no saved analyses: Get, Rename and Delete return "not found" and never touch real data',
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
displayName: 'New Title',
|
|
453
|
+
name: 'newTitle',
|
|
454
|
+
type: 'string',
|
|
455
|
+
required: true,
|
|
456
|
+
displayOptions: { show: { resource: ['analysis'], operation: ['rename'] } },
|
|
457
|
+
default: '',
|
|
458
|
+
placeholder: 'September sales',
|
|
459
|
+
description: 'From 1 to 120 characters',
|
|
167
460
|
},
|
|
168
461
|
{
|
|
169
462
|
displayName: 'Limit',
|
|
@@ -185,6 +478,7 @@ class Nokfi {
|
|
|
185
478
|
{ name: 'Calculate Withholding', value: 'withholding', action: 'Calculate IRPF withholding', description: 'IRPF withholding for an invoice and the total to collect' },
|
|
186
479
|
{ name: 'Estimate Modelo 130', value: 'model130', action: 'Estimate modelo 130', description: 'Quarterly IRPF payment, from your figures or from your Nokfi ledger' },
|
|
187
480
|
{ name: 'Get Fiscal Calendar', value: 'calendar', action: 'Get upcoming tax deadlines', description: 'Upcoming Spanish tax deadlines with days left' },
|
|
481
|
+
{ name: 'Get Quarter Summary', value: 'quarter', action: 'Get the quarter tax summary', description: 'VAT (303) and IRPF (130) of a quarter from your Nokfi ledger' },
|
|
188
482
|
{ name: 'Validate Tax ID', value: 'taxId', action: 'Validate a spanish tax ID', description: 'NIF, NIE or CIF check digit, entity type and EU VAT number' },
|
|
189
483
|
],
|
|
190
484
|
default: 'taxId',
|
|
@@ -218,7 +512,6 @@ class Nokfi {
|
|
|
218
512
|
{ name: '10 %', value: 10 },
|
|
219
513
|
{ name: '21 %', value: 21 },
|
|
220
514
|
{ name: '4 %', value: 4 },
|
|
221
|
-
{ name: '5 %', value: 5 },
|
|
222
515
|
],
|
|
223
516
|
default: 21,
|
|
224
517
|
},
|
|
@@ -235,7 +528,7 @@ class Nokfi {
|
|
|
235
528
|
type: 'boolean',
|
|
236
529
|
displayOptions: { show: { resource: ['tax'], operation: ['vat'] } },
|
|
237
530
|
default: false,
|
|
238
|
-
description: 'Whether to add the recargo de equivalencia (5.2 / 1.4 / 0.
|
|
531
|
+
description: 'Whether to add the recargo de equivalencia (5.2 / 1.4 / 0.5 %)',
|
|
239
532
|
},
|
|
240
533
|
{
|
|
241
534
|
displayName: 'Withholding Type',
|
|
@@ -266,14 +559,14 @@ class Nokfi {
|
|
|
266
559
|
displayName: 'Year',
|
|
267
560
|
name: 'year',
|
|
268
561
|
type: 'number',
|
|
269
|
-
displayOptions: { show: { resource: ['tax'], operation: ['model130'] } },
|
|
562
|
+
displayOptions: { show: { resource: ['tax'], operation: ['model130', 'quarter'] } },
|
|
270
563
|
default: 2026,
|
|
271
564
|
},
|
|
272
565
|
{
|
|
273
566
|
displayName: 'Quarter',
|
|
274
567
|
name: 'quarter',
|
|
275
568
|
type: 'options',
|
|
276
|
-
displayOptions: { show: { resource: ['tax'], operation: ['model130'] } },
|
|
569
|
+
displayOptions: { show: { resource: ['tax'], operation: ['model130', 'quarter'] } },
|
|
277
570
|
options: [
|
|
278
571
|
{ name: 'Q1', value: 1 },
|
|
279
572
|
{ name: 'Q2', value: 2 },
|
|
@@ -317,6 +610,70 @@ class Nokfi {
|
|
|
317
610
|
default: 6,
|
|
318
611
|
description: 'Max number of results to return',
|
|
319
612
|
},
|
|
613
|
+
{
|
|
614
|
+
displayName: 'Operation',
|
|
615
|
+
name: 'operation',
|
|
616
|
+
type: 'options',
|
|
617
|
+
noDataExpression: true,
|
|
618
|
+
displayOptions: { show: { resource: ['customer'] } },
|
|
619
|
+
options: [
|
|
620
|
+
{ name: 'Create', value: 'create', action: 'Create a customer', description: 'Add a customer to your Nokfi address book (with a test key it is only validated, not saved)' },
|
|
621
|
+
{ name: 'Get Many', value: 'getAll', action: 'Get many customers', description: 'List or search your address book (empty with a test key)' },
|
|
622
|
+
],
|
|
623
|
+
default: 'getAll',
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
displayName: 'Search',
|
|
627
|
+
name: 'customerSearch',
|
|
628
|
+
type: 'string',
|
|
629
|
+
displayOptions: { show: { resource: ['customer'], operation: ['getAll'] } },
|
|
630
|
+
default: '',
|
|
631
|
+
description: 'Name or tax ID',
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
displayName: 'Name',
|
|
635
|
+
name: 'customerName',
|
|
636
|
+
type: 'string',
|
|
637
|
+
required: true,
|
|
638
|
+
displayOptions: { show: { resource: ['customer'], operation: ['create'] } },
|
|
639
|
+
default: '',
|
|
640
|
+
},
|
|
641
|
+
{
|
|
642
|
+
displayName: 'Additional Fields',
|
|
643
|
+
name: 'customerFields',
|
|
644
|
+
type: 'collection',
|
|
645
|
+
placeholder: 'Add Field',
|
|
646
|
+
displayOptions: { show: { resource: ['customer'], operation: ['create'] } },
|
|
647
|
+
default: {},
|
|
648
|
+
options: [
|
|
649
|
+
{ displayName: 'Address', name: 'address', type: 'string', default: '' },
|
|
650
|
+
{ displayName: 'City', name: 'city', type: 'string', default: '' },
|
|
651
|
+
{ displayName: 'Country', name: 'country', type: 'string', default: 'ES', description: 'ISO 3166-1 alpha-2 code' },
|
|
652
|
+
{ displayName: 'Email', name: 'email', type: 'string', placeholder: 'name@email.com', default: '' },
|
|
653
|
+
{ displayName: 'Equivalence Surcharge', name: 'equivalence_surcharge', type: 'boolean', default: false, description: 'Whether the customer is in the recargo de equivalencia regime' },
|
|
654
|
+
{ displayName: 'Postal Code', name: 'postal_code', type: 'string', default: '' },
|
|
655
|
+
{ displayName: 'Province', name: 'province', type: 'string', default: '' },
|
|
656
|
+
{ displayName: 'Tax ID', name: 'tax_id', type: 'string', default: '', placeholder: 'B12345674' },
|
|
657
|
+
],
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
displayName: 'Operation',
|
|
661
|
+
name: 'operation',
|
|
662
|
+
type: 'options',
|
|
663
|
+
noDataExpression: true,
|
|
664
|
+
displayOptions: { show: { resource: ['job'] } },
|
|
665
|
+
options: [{ name: 'Get', value: 'get', action: 'Get a job', description: 'Status and, when finished, the result of a background job (kept 24 h)' }],
|
|
666
|
+
default: 'get',
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
displayName: 'Job ID',
|
|
670
|
+
name: 'jobId',
|
|
671
|
+
type: 'string',
|
|
672
|
+
required: true,
|
|
673
|
+
displayOptions: { show: { resource: ['job'], operation: ['get'] } },
|
|
674
|
+
default: '',
|
|
675
|
+
placeholder: 'job_3f9c…',
|
|
676
|
+
},
|
|
320
677
|
{
|
|
321
678
|
displayName: 'Operation',
|
|
322
679
|
name: 'operation',
|
|
@@ -332,7 +689,7 @@ class Nokfi {
|
|
|
332
689
|
type: 'boolean',
|
|
333
690
|
displayOptions: { show: { resource: ['analysis', 'invoice'], operation: ['create', 'extract'] } },
|
|
334
691
|
default: false,
|
|
335
|
-
description: 'Whether to return a job right away instead of waiting. Get the result with the Nokfi Trigger (Job Completed event) or
|
|
692
|
+
description: 'Whether to return a job right away instead of waiting. Get the result with the Nokfi Trigger (Job Completed event) or the Job › Get operation.',
|
|
336
693
|
},
|
|
337
694
|
{
|
|
338
695
|
displayName: 'Report Language',
|
|
@@ -361,13 +718,13 @@ class Nokfi {
|
|
|
361
718
|
const out = [];
|
|
362
719
|
let idem = 0;
|
|
363
720
|
const asyncQs = (i) => (resource !== 'tax' && resource !== 'usage' && this.getNodeParameter('async', i, false) ? '?async=true' : '');
|
|
364
|
-
const api = async (method, path, body, itemIndex = 0) => {
|
|
721
|
+
const api = async (method, path, body, itemIndex = 0, idemKey) => {
|
|
365
722
|
var _a;
|
|
366
723
|
const options = { method, url: `${baseUrl}/api/v1${path}`, json: true };
|
|
367
724
|
if (body)
|
|
368
725
|
options.body = body;
|
|
369
726
|
if (method === 'POST')
|
|
370
|
-
options.headers = { 'Idempotency-Key': `n8n-${this.getExecutionId()}-${this.getNode().id}-${itemIndex}-${path}-${idem++}` };
|
|
727
|
+
options.headers = { 'Idempotency-Key': idemKey || `n8n-${this.getExecutionId()}-${this.getNode().id}-${itemIndex}-${path}-${idem++}` };
|
|
371
728
|
try {
|
|
372
729
|
return (await this.helpers.httpRequestWithAuthentication.call(this, 'nokfiApi', options));
|
|
373
730
|
}
|
|
@@ -399,6 +756,24 @@ class Nokfi {
|
|
|
399
756
|
if (i === 0)
|
|
400
757
|
break;
|
|
401
758
|
}
|
|
759
|
+
else if (resource === 'customer' && operation === 'getAll') {
|
|
760
|
+
const q = this.getNodeParameter('customerSearch', i, '').trim();
|
|
761
|
+
const res = await api('GET', `/customers${q ? `?q=${encodeURIComponent(q)}` : ''}`, undefined, i);
|
|
762
|
+
for (const c of res.customers || [])
|
|
763
|
+
out.push({ json: c, pairedItem: { item: i } });
|
|
764
|
+
}
|
|
765
|
+
else if (resource === 'customer' && operation === 'create') {
|
|
766
|
+
const body = { ...this.getNodeParameter('customerFields', i, {}), name: this.getNodeParameter('customerName', i) };
|
|
767
|
+
out.push({ json: await api('POST', '/customers', body, i), pairedItem: { item: i } });
|
|
768
|
+
}
|
|
769
|
+
else if (resource === 'job') {
|
|
770
|
+
const id = this.getNodeParameter('jobId', i).trim();
|
|
771
|
+
out.push({ json: await api('GET', `/jobs/${encodeURIComponent(id)}`, undefined, i), pairedItem: { item: i } });
|
|
772
|
+
}
|
|
773
|
+
else if (resource === 'tax' && operation === 'quarter') {
|
|
774
|
+
const qs = `year=${this.getNodeParameter('year', i)}&quarter=${this.getNodeParameter('quarter', i)}`;
|
|
775
|
+
out.push({ json: await api('GET', `/tax/quarter?${qs}`, undefined, i), pairedItem: { item: i } });
|
|
776
|
+
}
|
|
402
777
|
else if (resource === 'tax') {
|
|
403
778
|
let res;
|
|
404
779
|
if (operation === 'taxId') {
|
|
@@ -436,6 +811,15 @@ class Nokfi {
|
|
|
436
811
|
const id = this.getNodeParameter('analysisId', i);
|
|
437
812
|
out.push({ json: await api('GET', `/analyses/${encodeURIComponent(String(id))}`, undefined, i), pairedItem: { item: i } });
|
|
438
813
|
}
|
|
814
|
+
else if (resource === 'analysis' && operation === 'rename') {
|
|
815
|
+
const id = this.getNodeParameter('analysisId', i);
|
|
816
|
+
const title = this.getNodeParameter('newTitle', i).trim();
|
|
817
|
+
out.push({ json: await api('PATCH', `/analyses/${encodeURIComponent(String(id))}`, { title }, i), pairedItem: { item: i } });
|
|
818
|
+
}
|
|
819
|
+
else if (resource === 'analysis' && operation === 'delete') {
|
|
820
|
+
const id = this.getNodeParameter('analysisId', i);
|
|
821
|
+
out.push({ json: await api('DELETE', `/analyses/${encodeURIComponent(String(id))}`, undefined, i), pairedItem: { item: i } });
|
|
822
|
+
}
|
|
439
823
|
else if (resource === 'analysis' && operation === 'getAll') {
|
|
440
824
|
const limit = this.getNodeParameter('limit', i);
|
|
441
825
|
const res = await api('GET', `/analyses?limit=${limit}`, undefined, i);
|
|
@@ -455,6 +839,80 @@ class Nokfi {
|
|
|
455
839
|
data.module = this.getNodeParameter('module', i);
|
|
456
840
|
out.push({ json: await api('POST', `/analyze${asyncQs(i)}`, body, i), pairedItem: { item: i } });
|
|
457
841
|
}
|
|
842
|
+
else if (resource === 'invoice' && (operation === 'issue' || operation === 'rectify')) {
|
|
843
|
+
const fields = { ...this.getNodeParameter('invoiceFields', i, {}) };
|
|
844
|
+
const idemKey = fields.idempotencyKey || undefined;
|
|
845
|
+
delete fields.idempotencyKey;
|
|
846
|
+
const lines = this.getNodeParameter('lines', i, {}).line || [];
|
|
847
|
+
if (!lines.length)
|
|
848
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Add at least one line', { itemIndex: i });
|
|
849
|
+
const body = { ...fields, lines };
|
|
850
|
+
let path = '/invoices';
|
|
851
|
+
if (operation === 'issue') {
|
|
852
|
+
const mode = this.getNodeParameter('customerMode', i);
|
|
853
|
+
if (mode === 'id')
|
|
854
|
+
body.customer_id = this.getNodeParameter('customerId', i);
|
|
855
|
+
if (mode === 'details')
|
|
856
|
+
body.customer = this.getNodeParameter('customer', i, {});
|
|
857
|
+
delete body.rectification_kind;
|
|
858
|
+
}
|
|
859
|
+
else {
|
|
860
|
+
path = `/invoices/${encodeURIComponent(String(this.getNodeParameter('invoiceId', i)))}/rectify`;
|
|
861
|
+
body.rectification_reason = this.getNodeParameter('rectificationReason', i);
|
|
862
|
+
}
|
|
863
|
+
out.push({ json: await api('POST', path, body, i, idemKey && `n8n-${idemKey}`), pairedItem: { item: i } });
|
|
864
|
+
}
|
|
865
|
+
else if (resource === 'invoice' && operation === 'get') {
|
|
866
|
+
out.push({ json: await api('GET', `/invoices/${encodeURIComponent(String(this.getNodeParameter('invoiceId', i)))}`, undefined, i), pairedItem: { item: i } });
|
|
867
|
+
}
|
|
868
|
+
else if (resource === 'invoice' && operation === 'getAll') {
|
|
869
|
+
const qs = new URLSearchParams({ limit: String(this.getNodeParameter('invoiceLimit', i)) });
|
|
870
|
+
for (const [k, v] of Object.entries(this.getNodeParameter('invoiceFilters', i, {})))
|
|
871
|
+
if (v !== '' && v !== undefined)
|
|
872
|
+
qs.set(k, String(v));
|
|
873
|
+
const res = await api('GET', `/invoices?${qs.toString()}`, undefined, i);
|
|
874
|
+
for (const inv of res.invoices || [])
|
|
875
|
+
out.push({ json: inv, pairedItem: { item: i } });
|
|
876
|
+
}
|
|
877
|
+
else if (resource === 'invoice' && operation === 'cancel') {
|
|
878
|
+
const id = encodeURIComponent(String(this.getNodeParameter('invoiceId', i)));
|
|
879
|
+
out.push({ json: await api('POST', `/invoices/${id}/cancel`, { reason: this.getNodeParameter('cancelReason', i, '') }, i), pairedItem: { item: i } });
|
|
880
|
+
}
|
|
881
|
+
else if (resource === 'invoice' && operation === 'setStatus') {
|
|
882
|
+
const id = encodeURIComponent(String(this.getNodeParameter('invoiceId', i)));
|
|
883
|
+
const status = this.getNodeParameter('invoiceStatus', i);
|
|
884
|
+
const body = { status };
|
|
885
|
+
if (status === 'rejected')
|
|
886
|
+
body.reason = this.getNodeParameter('statusReason', i);
|
|
887
|
+
if (status === 'paid') {
|
|
888
|
+
const d = this.getNodeParameter('statusDate', i, '');
|
|
889
|
+
if (d)
|
|
890
|
+
body.date = d;
|
|
891
|
+
}
|
|
892
|
+
out.push({ json: await api('POST', `/invoices/${id}/status`, body, i), pairedItem: { item: i } });
|
|
893
|
+
}
|
|
894
|
+
else if (resource === 'invoice' && operation === 'download') {
|
|
895
|
+
const id = encodeURIComponent(String(this.getNodeParameter('invoiceId', i)));
|
|
896
|
+
const format = this.getNodeParameter('format', i);
|
|
897
|
+
const field = this.getNodeParameter('outputBinaryField', i) || 'data';
|
|
898
|
+
const path = format === 'pdf' ? `/invoices/${id}/pdf` : `/invoices/${id}/xml?format=${format}`;
|
|
899
|
+
let file;
|
|
900
|
+
try {
|
|
901
|
+
file = Buffer.from((await this.helpers.httpRequestWithAuthentication.call(this, 'nokfiApi', {
|
|
902
|
+
method: 'GET', url: `${baseUrl}/api/v1${path}`, encoding: 'arraybuffer', json: false,
|
|
903
|
+
})));
|
|
904
|
+
}
|
|
905
|
+
catch (error) {
|
|
906
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error.message, { itemIndex: i });
|
|
907
|
+
}
|
|
908
|
+
const pdf = format === 'pdf' || format === 'facturx';
|
|
909
|
+
const name = `invoice_${id}${format === 'pdf' ? '' : `_${format}`}.${pdf ? 'pdf' : 'xml'}`;
|
|
910
|
+
out.push({
|
|
911
|
+
json: { id: Number(id), format },
|
|
912
|
+
binary: { [field]: await this.helpers.prepareBinaryData(file, name, pdf ? 'application/pdf' : 'application/xml') },
|
|
913
|
+
pairedItem: { item: i },
|
|
914
|
+
});
|
|
915
|
+
}
|
|
458
916
|
else if (resource === 'invoice' && operation === 'extract') {
|
|
459
917
|
const lang = this.getNodeParameter('lang', i);
|
|
460
918
|
const split = this.getNodeParameter('splitOutput', i);
|
|
@@ -473,7 +931,10 @@ class Nokfi {
|
|
|
473
931
|
const mime = (meta.mimeType || '').toLowerCase();
|
|
474
932
|
const buffer = await this.helpers.getBinaryDataBuffer(i, name);
|
|
475
933
|
const fileName = meta.fileName || name;
|
|
476
|
-
if (mime
|
|
934
|
+
if (XML_TYPES.includes(mime) || /\.(xml|xsig)$/i.test(fileName)) {
|
|
935
|
+
docs.push({ name: fileName, mime: 'application/xml', data: buffer.toString('base64') });
|
|
936
|
+
}
|
|
937
|
+
else if (mime === 'application/pdf' || IMAGE_TYPES.includes(mime)) {
|
|
477
938
|
docs.push({ name: fileName, mime, data: buffer.toString('base64') });
|
|
478
939
|
}
|
|
479
940
|
else if (mime.startsWith('text/')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Nokfi.node.js","sourceRoot":"","sources":["../../../nodes/Nokfi/Nokfi.node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Nokfi.node.js","sourceRoot":"","sources":["../../../nodes/Nokfi/Nokfi.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ class NokfiTrigger {
|
|
|
27
27
|
group: ['trigger'],
|
|
28
28
|
version: 1,
|
|
29
29
|
subtitle: '={{$parameter["events"].join(", ")}}',
|
|
30
|
-
description: 'Starts the workflow when Nokfi finishes an analysis or a job,
|
|
30
|
+
description: 'Starts the workflow when Nokfi finishes an analysis or a job, an invoice is issued, paid, rejected or cancelled, the tax agency answers a VERI*FACTU record, your quota reaches 80 % or 100 %, or a Spanish tax deadline is near',
|
|
31
31
|
defaults: { name: 'Nokfi Trigger' },
|
|
32
32
|
inputs: [],
|
|
33
33
|
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
@@ -42,9 +42,17 @@ class NokfiTrigger {
|
|
|
42
42
|
options: [
|
|
43
43
|
{ name: 'Analysis Completed', value: 'analysis.completed', description: 'A report finished (from the API or the web app)' },
|
|
44
44
|
{ name: 'Fiscal Deadline', value: 'fiscal.deadline', description: 'A tax deadline (303, 130, 111…) is 7 days or 1 day away' },
|
|
45
|
+
{ name: 'Invoice Cancelled', value: 'invoice.cancelled', description: 'An issued invoice was cancelled' },
|
|
46
|
+
{ name: 'Invoice Issued', value: 'invoice.issued', description: 'An invoice was issued (from the API, the MCP or the web app)' },
|
|
47
|
+
{ name: 'Invoice Paid', value: 'invoice.paid', description: 'An invoice was marked as paid' },
|
|
48
|
+
{ name: 'Invoice Rejected', value: 'invoice.rejected', description: 'The customer rejected an invoice (with the reason)' },
|
|
49
|
+
{ name: 'Invoice Rejection Undone', value: 'invoice.accepted', description: 'A rejection was undone: the invoice is accepted again' },
|
|
50
|
+
{ name: 'Invoice Unpaid', value: 'invoice.unpaid', description: 'A payment was undone' },
|
|
45
51
|
{ name: 'Job Completed', value: 'job.completed', description: 'An async job (?async=true) finished; the result is included' },
|
|
46
52
|
{ name: 'Job Failed', value: 'job.failed', description: 'An async job failed' },
|
|
47
53
|
{ name: 'Quota Threshold', value: 'quota.threshold', description: 'You reached 80 % or 100 % of today’s quota' },
|
|
54
|
+
{ name: 'VERI*FACTU Record Accepted', value: 'verifactu.accepted', description: 'The Spanish tax agency accepted an invoice record (status may be accepted_errors)' },
|
|
55
|
+
{ name: 'VERI*FACTU Record Rejected', value: 'verifactu.rejected', description: 'The Spanish tax agency rejected an invoice record (with the error code)' },
|
|
48
56
|
],
|
|
49
57
|
default: ['analysis.completed'],
|
|
50
58
|
},
|
|
@@ -52,8 +60,8 @@ class NokfiTrigger {
|
|
|
52
60
|
displayName: 'Only Live Events',
|
|
53
61
|
name: 'onlyLive',
|
|
54
62
|
type: 'boolean',
|
|
55
|
-
default:
|
|
56
|
-
description: 'Whether to ignore test events (
|
|
63
|
+
default: true,
|
|
64
|
+
description: 'Whether to ignore test events (livemode false). A webhook created with a test key (nk_test_) only receives test events, so turn this off while you build with a test key.',
|
|
57
65
|
},
|
|
58
66
|
],
|
|
59
67
|
};
|
|
@@ -63,15 +71,26 @@ class NokfiTrigger {
|
|
|
63
71
|
const data = this.getWorkflowStaticData('node');
|
|
64
72
|
if (!data.webhookId)
|
|
65
73
|
return false;
|
|
74
|
+
let endpoint;
|
|
66
75
|
try {
|
|
67
|
-
await nokfiApi.call(this, 'GET', `/webhooks/${data.webhookId}`);
|
|
68
|
-
return true;
|
|
76
|
+
endpoint = await nokfiApi.call(this, 'GET', `/webhooks/${data.webhookId}`);
|
|
69
77
|
}
|
|
70
|
-
catch {
|
|
78
|
+
catch (error) {
|
|
79
|
+
if (httpStatus(error) !== 404) {
|
|
80
|
+
this.logger.warn(`Nokfi: could not check webhook ${data.webhookId}, keeping it: ${error.message}`);
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
71
83
|
delete data.webhookId;
|
|
72
84
|
delete data.secret;
|
|
73
85
|
return false;
|
|
74
86
|
}
|
|
87
|
+
const events = this.getNodeParameter('events');
|
|
88
|
+
const current = endpoint.events || [];
|
|
89
|
+
const sameEvents = current.length === events.length && events.every((e) => current.includes(e));
|
|
90
|
+
if (endpoint.enabled === false || !sameEvents || endpoint.url !== this.getNodeWebhookUrl('default')) {
|
|
91
|
+
await nokfiApi.call(this, 'PATCH', `/webhooks/${data.webhookId}`, { enabled: true, events, url: this.getNodeWebhookUrl('default') });
|
|
92
|
+
}
|
|
93
|
+
return true;
|
|
75
94
|
},
|
|
76
95
|
async create() {
|
|
77
96
|
const url = this.getNodeWebhookUrl('default');
|
|
@@ -93,6 +112,11 @@ class NokfiTrigger {
|
|
|
93
112
|
await nokfiApi.call(this, 'DELETE', `/webhooks/${data.webhookId}`);
|
|
94
113
|
}
|
|
95
114
|
catch (error) {
|
|
115
|
+
if (httpStatus(error) === 404) {
|
|
116
|
+
delete data.webhookId;
|
|
117
|
+
delete data.secret;
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
96
120
|
this.logger.warn(`Nokfi: could not delete webhook ${data.webhookId}: ${error.message}`);
|
|
97
121
|
return false;
|
|
98
122
|
}
|
|
@@ -124,6 +148,11 @@ class NokfiTrigger {
|
|
|
124
148
|
}
|
|
125
149
|
}
|
|
126
150
|
exports.NokfiTrigger = NokfiTrigger;
|
|
151
|
+
function httpStatus(error) {
|
|
152
|
+
var _a, _b, _c, _d, _e;
|
|
153
|
+
const e = error;
|
|
154
|
+
return Number((e === null || e === void 0 ? void 0 : e.httpCode) || (e === null || e === void 0 ? void 0 : e.statusCode) || ((_a = e === null || e === void 0 ? void 0 : e.response) === null || _a === void 0 ? void 0 : _a.status) || ((_b = e === null || e === void 0 ? void 0 : e.cause) === null || _b === void 0 ? void 0 : _b.httpCode) || ((_c = e === null || e === void 0 ? void 0 : e.cause) === null || _c === void 0 ? void 0 : _c.statusCode) || ((_e = (_d = e === null || e === void 0 ? void 0 : e.cause) === null || _d === void 0 ? void 0 : _d.response) === null || _e === void 0 ? void 0 : _e.status) || 0);
|
|
155
|
+
}
|
|
127
156
|
async function nokfiApi(method, path, body) {
|
|
128
157
|
const credentials = await this.getCredentials('nokfiApi');
|
|
129
158
|
const baseUrl = String(credentials.baseUrl || 'https://nokfi.app').replace(/\/+$/, '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NokfiTrigger.node.js","sourceRoot":"","sources":["../../../nodes/NokfiTrigger/NokfiTrigger.node.ts"],"names":[],"mappings":";;;AAAA,mCAAqD;AAWrD,+CAAiE;AAEjE,MAAM,WAAW,GAAG,GAAG,CAAC;AAGxB,SAAS,cAAc,CAAC,MAAc,EAAE,MAAc,EAAE,OAAe;IACtE,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW;QAAE,OAAO,KAAK,CAAC;IACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAA,mBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnG,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,IAAA,wBAAe,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACzE,CAAC;AAED,MAAa,YAAY;IAAzB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,eAAe;YAC5B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,qBAAqB,EAAE;YAC9D,KAAK,EAAE,CAAC,SAAS,CAAC;YAClB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,sCAAsC;YAChD,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"NokfiTrigger.node.js","sourceRoot":"","sources":["../../../nodes/NokfiTrigger/NokfiTrigger.node.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-nokfi",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "n8n nodes for Nokfi: extract and validate invoices, run financial analyses, Spanish tax tools (NIF, VAT, IRPF, Modelo 130, tax calendar) and a trigger for Nokfi events.",
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "n8n nodes for Nokfi: issue invoices (PDF, e-invoice, VERI*FACTU), extract and validate invoices, run financial analyses, Spanish tax tools (NIF, VAT, IRPF, Modelo 130, tax calendar) and a trigger for Nokfi events.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://nokfi.app/api-docs",
|
|
7
7
|
"keywords": [
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
"nokfi",
|
|
10
10
|
"invoices",
|
|
11
11
|
"invoice-extraction",
|
|
12
|
+
"invoicing",
|
|
13
|
+
"e-invoice",
|
|
14
|
+
"verifactu",
|
|
12
15
|
"finance",
|
|
13
16
|
"accounting",
|
|
14
17
|
"spain",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-nokfi",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "n8n nodes for Nokfi: extract and validate invoices, run financial analyses, Spanish tax tools (NIF, VAT, IRPF, Modelo 130, tax calendar) and a trigger for Nokfi events.",
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "n8n nodes for Nokfi: issue invoices (PDF, e-invoice, VERI*FACTU), extract and validate invoices, run financial analyses, Spanish tax tools (NIF, VAT, IRPF, Modelo 130, tax calendar) and a trigger for Nokfi events.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://nokfi.app/api-docs",
|
|
7
7
|
"keywords": [
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
"nokfi",
|
|
10
10
|
"invoices",
|
|
11
11
|
"invoice-extraction",
|
|
12
|
+
"invoicing",
|
|
13
|
+
"e-invoice",
|
|
14
|
+
"verifactu",
|
|
12
15
|
"finance",
|
|
13
16
|
"accounting",
|
|
14
17
|
"spain",
|