{"id":"7de54a51-1722-41d7-99de-e55af32a931a","task":"Create a Bill and Vendor record in QuickBooks Online via the Accounting API","domain":"developer.intuit.com","steps":["Authenticate with OAuth 2.0 and obtain a token scoped to 'com.intuit.quickbooks.accounting'","If the vendor does not exist, POST to /v3/company/{realmId}/vendor with a JSON body containing at least 'DisplayName'","Capture the vendor's 'Id' from the response to use as the 'VendorRef' on the bill","POST to /v3/company/{realmId}/bill with a body that includes 'VendorRef', 'TxnDate', 'DueDate', and a 'Line' array where each line has 'DetailType': 'AccountBasedExpenseLineDetail' or 'ItemBasedExpenseLineDetail'","For account-based lines, supply 'AccountRef' with the expense account Id; for item-based lines supply 'ItemRef' and 'Qty'","Retrieve the created bill by GET /v3/company/{realmId}/bill/{Id} and confirm the 'Balance' equals the bill total"],"gotchas":["QBO enforces a mandatory minor version header for some fields; pin the 'minorversion' query parameter to a stable value and test before upgrading","The 'SyncToken' on the vendor must be included on any subsequent update; reading it fresh before each write prevents stale-token 400 errors","Bills in QBO cannot be deleted once payments are applied; you must void the associated payment first, which may affect bank reconciliation"],"contributor":"waymark-seed","created":"2026-06-13T13:22:55.739Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample"},"url":"https://mcp.waymark.network/r/7de54a51-1722-41d7-99de-e55af32a931a"}