diff --git a/packages/nodes-base/nodes/InvoiceNinja/InvoiceNinja.node.ts b/packages/nodes-base/nodes/InvoiceNinja/InvoiceNinja.node.ts index 74032ba884..54e668a1af 100644 --- a/packages/nodes-base/nodes/InvoiceNinja/InvoiceNinja.node.ts +++ b/packages/nodes-base/nodes/InvoiceNinja/InvoiceNinja.node.ts @@ -472,15 +472,25 @@ export class InvoiceNinja implements INodeType { cost: itemValue.cost as number, notes: itemValue.description as string, product_key: itemValue.service as string, - qty: itemValue.hours as number, tax_rate1: itemValue.taxRate1 as number, tax_rate2: itemValue.taxRate2 as number, tax_name1: itemValue.taxName1 as string, tax_name2: itemValue.taxName2 as string, }; + if (apiVersion === 'v4') { + item.qty = itemValue.hours as number; + } + if (apiVersion === 'v5') { + item.quantity = itemValue.hours as number; + } invoiceItems.push(item); } - body.invoice_items = invoiceItems; + if (apiVersion === 'v4') { + body.invoice_items = invoiceItems; + } + if (apiVersion === 'v5') { + body.line_items = invoiceItems; + } } responseData = await invoiceNinjaApiRequest.call( this, @@ -902,15 +912,25 @@ export class InvoiceNinja implements INodeType { cost: itemValue.cost as number, notes: itemValue.description as string, product_key: itemValue.service as string, - qty: itemValue.hours as number, tax_rate1: itemValue.taxRate1 as number, tax_rate2: itemValue.taxRate2 as number, tax_name1: itemValue.taxName1 as string, tax_name2: itemValue.taxName2 as string, }; + if (apiVersion === 'v4') { + item.qty = itemValue.hours as number; + } + if (apiVersion === 'v5') { + item.quantity = itemValue.hours as number; + } invoiceItems.push(item); } - body.invoice_items = invoiceItems; + if (apiVersion === 'v4') { + body.invoice_items = invoiceItems; + } + if (apiVersion === 'v5') { + body.line_items = invoiceItems; + } } responseData = await invoiceNinjaApiRequest.call( this, diff --git a/packages/nodes-base/nodes/InvoiceNinja/QuoteInterface.ts b/packages/nodes-base/nodes/InvoiceNinja/QuoteInterface.ts index 7b053b8acc..f1e5329e41 100644 --- a/packages/nodes-base/nodes/InvoiceNinja/QuoteInterface.ts +++ b/packages/nodes-base/nodes/InvoiceNinja/QuoteInterface.ts @@ -3,6 +3,7 @@ export interface IItem { notes?: string; product_key?: string; qty?: number; + quantity?: number; tax_rate1?: number; tax_rate2?: number; tax_name1?: string; @@ -20,6 +21,7 @@ export interface IQuote { email?: string; invoice_date?: string; invoice_items?: IItem[]; + line_items?: IItem[]; invoice_number?: string; invoice_status_id?: number; is_amount_discount?: boolean; diff --git a/packages/nodes-base/nodes/InvoiceNinja/invoiceInterface.ts b/packages/nodes-base/nodes/InvoiceNinja/invoiceInterface.ts index ab61e4fd96..22a8728ae4 100644 --- a/packages/nodes-base/nodes/InvoiceNinja/invoiceInterface.ts +++ b/packages/nodes-base/nodes/InvoiceNinja/invoiceInterface.ts @@ -3,6 +3,7 @@ export interface IItem { notes?: string; product_key?: string; qty?: number; + quantity?: number; tax_rate1?: number; tax_rate2?: number; tax_name1?: string; @@ -20,6 +21,7 @@ export interface IInvoice { due_date?: string; invoice_date?: string; invoice_items?: IItem[]; + line_items?: IItem[]; invoice_number?: string; invoice_status_id?: number; is_amount_discount?: boolean;