QuickBook Invoice Creation Error: Bad request - please check your parameters

Describe the problem/error/question

I am creating a workflow that automatically sends an invoice using quickbooks online from a google form submission. The flow:

  • Trigger when a new row is added to the form submissions sheet
  • Get all existing customers from quickbooks
  • Check if the form submitter is an existing customer
  • If they are, create and send an invoice to that customer
  • If not, create a new customer and send the invoice

The issue I am facing atm is in the invoice creation node. When I try executing the node, I get the following error (under the error heading). I also get the following error in the customer id field:

What is the error message (if any)?

Error code

400

Full message

{ "Fault": { "Error": [ { "Message": "Object Not Found", "Detail": "Object Not Found : Something you're trying to use has been made inactive. Check the fields with accounts, customers, items, vendors or employees.", "code": "610", "element": "" } ], "type": "ValidationFault" }, "time": "2025-09-11T22:32:13.157-07:00" }

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Bad request - please check your parameters
400 - {“Fault”:{“Error”:[{“Message”:“Object Not Found”,“Detail”:“Object Not Found : Something you’re trying to use has been made inactive. Check the fields with accounts, customers, items, vendors or employees.”,“code”:“610”,“element”:“”}],“type”:“ValidationFault”},“time”:“2025-09-11T22:32:13.157-07:00”}

Information on your n8n setup

  • n8n version:
    1.107.4
  • Database (default: SQLite): Postgresql
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Digital Ocean self hosted
  • Operating system: Linux

Is that customer “Active” in QuickBooks? (Check the customer record in QBO.)

Try one (or both) of these quick fixes

Map the real Customer ID (or DisplayName), not BillAddr.Id

    • In Create an invoice → For Customer Name or ID, use the ID from your Get many customers node result:

      {{$node["Get many customers"].json["Id"]}}
      
      

      or, if you matched by name:

      {{$node["Get many customers"].json["DisplayName"]}}
      
      
    • If the customer doesn’t exist or is inactive, first Create Customer (or reactivate), then pass that new Customer.Id into the invoice.

  1. Provide a valid active Item on the Line

    • In Line → Item Name or ID, set an active Product/Service (e.g., a “Service” item you already have in QBO):

      {{$json.ItemRef.Id}}   // or hardcode the active item ID to test
      
      
    • If you don’t have one, create a simple “Service” item in QBO and use its Item.Id.

    • Only using Amount + Description (with no Item) often fails; QBO wants an item reference.


1 Like

Thnx. i went with option 1, used the real customer ID and it worked. Though I was pretty sure I tried it before as well but it didn’t work but all good now.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.