I’m working on sending invoice data to QuickBooks Online and need to include multiple line items in each request.
While Zapier supports line items natively, this feature is limited to specific applications. I’m exploring webhook solutions but running into issues with data formatting.
When I structure my data as an array, the system creates separate invoices for each line item instead of one invoice with multiple items.
This happens because Zapier flattens nested arrays by default when processing webhook data. I ran into the same issue last year with a QB integration. To fix it, ensure that your webhook sends proper JSON with the right MIME type. Add a ‘Formatter by Zapier’ step between your webhook and QuickBooks. In the formatter, use ‘Utilities’ to convert your items_list array into QB’s format by mapping each element to QB’s line item structure. Alternatively, you can restructure your source to send individual line items as separate webhook calls with a shared invoice ID.
Had the same headache with QuickBooks webhooks. Your items_list structure doesn’t match what QB expects. Skip the comma-delimited strings - you need proper JSON objects with QB’s exact field names.
Use “Line” as your array name and stick to QB’s field names. Also check that your webhook Content-Type header is application/json - without it, QB treats everything as text no matter how you structure it.