diff --git a/packages/nodes-base/nodes/InvoiceNinja/InvoiceDescription.ts b/packages/nodes-base/nodes/InvoiceNinja/InvoiceDescription.ts index e6ff91df4c..0c6d19a1ff 100644 --- a/packages/nodes-base/nodes/InvoiceNinja/InvoiceDescription.ts +++ b/packages/nodes-base/nodes/InvoiceNinja/InvoiceDescription.ts @@ -158,6 +158,12 @@ export const invoiceFields: INodeProperties[] = [ type: 'boolean', default: false, }, + { + displayName: 'Mark Sent', + name: 'markSent', + type: 'boolean', + default: false, + }, { displayName: 'Paid', name: 'paid', diff --git a/packages/nodes-base/nodes/InvoiceNinja/InvoiceNinja.node.ts b/packages/nodes-base/nodes/InvoiceNinja/InvoiceNinja.node.ts index e1c30be41b..3511266262 100644 --- a/packages/nodes-base/nodes/InvoiceNinja/InvoiceNinja.node.ts +++ b/packages/nodes-base/nodes/InvoiceNinja/InvoiceNinja.node.ts @@ -421,7 +421,6 @@ export class InvoiceNinja implements INodeType { if (apiVersion === 'v4') { body.invoice_number = additionalFields.invoiceNumber as string; } else if (apiVersion === 'v5') { - // eslint-disable-next-line id-denylist body.number = additionalFields.invoiceNumber as string; } } @@ -462,10 +461,21 @@ export class InvoiceNinja implements INodeType { body.discount = additionalFields.discount as number; } if (additionalFields.paid) { - body.paid = additionalFields.paid as number; + if (apiVersion === 'v4') { + body.paid = additionalFields.paid as number; + } else if (apiVersion === 'v5') { + qs.amount_paid = additionalFields.paid as number; + } } if (additionalFields.emailInvoice) { - body.email_invoice = additionalFields.emailInvoice as boolean; + if (apiVersion === 'v4') { + body.email_invoice = additionalFields.emailInvoice as boolean; + } else if (apiVersion === 'v5') { + qs.send_email = additionalFields.emailInvoice as boolean; + } + } + if (additionalFields.markSent) { + qs.mark_sent = additionalFields.markSent as boolean; } const invoceItemsValues = (this.getNodeParameter('invoiceItemsUi', i) as IDataObject) .invoiceItemsValues as IDataObject[]; @@ -501,6 +511,7 @@ export class InvoiceNinja implements INodeType { 'POST', '/invoices', body as IDataObject, + qs, ); responseData = responseData.data; } @@ -879,7 +890,6 @@ export class InvoiceNinja implements INodeType { if (apiVersion === 'v4') { body.invoice_number = additionalFields.quoteNumber as string; } else if (apiVersion === 'v5') { - // eslint-disable-next-line id-denylist body.number = additionalFields.quoteNumber as string; } } diff --git a/packages/nodes-base/nodes/InvoiceNinja/QuoteDescription.ts b/packages/nodes-base/nodes/InvoiceNinja/QuoteDescription.ts index c780e9589d..ea204d6ee2 100644 --- a/packages/nodes-base/nodes/InvoiceNinja/QuoteDescription.ts +++ b/packages/nodes-base/nodes/InvoiceNinja/QuoteDescription.ts @@ -27,7 +27,7 @@ export const quoteOperations: INodeProperties[] = [ { name: 'Email', value: 'email', - description: 'Email an quote', + description: 'Email a quote', action: 'Email a quote', }, { diff --git a/packages/nodes-base/nodes/InvoiceNinja/invoiceInterface.ts b/packages/nodes-base/nodes/InvoiceNinja/invoiceInterface.ts index 752fbbf4a7..8cfda5a211 100644 --- a/packages/nodes-base/nodes/InvoiceNinja/invoiceInterface.ts +++ b/packages/nodes-base/nodes/InvoiceNinja/invoiceInterface.ts @@ -15,10 +15,10 @@ export interface IInvoice { client_id?: number; custom_value1?: number; custom_value2?: number; - email_invoice?: boolean; - email?: string; discount?: number; due_date?: string; + email_invoice?: boolean; + email?: string; invoice_date?: string; invoice_items?: IItem[]; line_items?: IItem[];