QuickBooks Node - Invoicing

Describe the problem/error/question

Im struggling to create a invoice in quickbooks with more than one item if i use the Quickbooks Create Invoice Node it work for one line item. But i cant manage to get it to populate other invoice items.

Then i tried going the HTTP request route to see if i can’t create it through the api. But I keep on getting an error;

HTTP Request to QuickBooks Online API Returns 401 (Code 120) Despite Valid OAuth2 Credential—Headers Lowercased and Clock Skew Issue?

Not sure if anyone has any pointers or managed to somehow get more than one item created in quickbooks? I tried POST & GET nothing work.

What is the error message (if any)?

I’m experiencing a persistent 401 “Authorization Failure” (Intuit error code 120) when using the HTTP Request node to call the QuickBooks Online (QBO) v3 API (e.g., GET /company/{realmId}/companyinfo/{realmId} or POST /invoice). The credential (“CNL”, QuickBooks Online OAuth2 API type) works fine in the native QuickBooks node: I can successfully create 1-item invoices (200 OK).

However, in HTTP Request (with Predefined Authentication: QuickBooks Online OAuth2 > “CNL”), the Bearer token is added correctly (Authorization: hidden in logs), but the call fails with 401. Debugging shows:

Please share your workflow

{
  "name": "QuickBooks Auth Test Workflow",
  "nodes": [
    // ... your nodes: Manual Trigger → HTTP Request (GET to /companyinfo)
    // Example structure: Include your HTTP config with headers.
  ],
  "connections": {
    // ...
  },
  "pinData": {},
  "settings": {},
  "staticData": null,
  "tags": [],
  "triggerCount": 0,
  "updatedAt": "2024-10-01T...",
  "versionId": "uuid"
}

Share the output returned by the last node

{
“statusCode”: 401,
“body”: {
“Fault”: {
“Error”: [
{
“Message”: “Authorization Failure”,
“Detail”: “AuthorizationFailure: {0}, statusCode: {1}”,
“code”: “120”
}
],
“type”: “AuthorizationFault”
},
“time”: “2025-09-30T12:15:02.060-07:00”
}
}

Information on your n8n setup

  • n8n version: 1.113.2
  • Database (default: SQLite): SQLite
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Dokploy
  • Operating system: Linux

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