Access the QuickBooks Online API with managed OAuth authentication. Manage customers, vendors, invoices, payments, and run financial reports.
Reference
Company Info
GET /quickbooks/v3/company/:realmId/companyinfo/:realmIdQuery Customers
GET /quickbooks/v3/company/:realmId/query?query=SELECT%20*%20FROM%20Customer%20MAXRESULTS%20100Get Customer
GET /quickbooks/v3/company/:realmId/customer/{customerId}Create Customer
POST /quickbooks/v3/company/:realmId/customer
Content-Type: application/json
{
"DisplayName": "John Doe",
"PrimaryEmailAddr": {"Address": "john@example.com"},
"PrimaryPhone": {"FreeFormNumber": "555-1234"}
}Update Customer
Requires Id and SyncToken from previous GET:
POST /quickbooks/v3/company/:realmId/customer
Content-Type: application/json
{
"Id": "123",
"SyncToken": "0",
"DisplayName": "John Doe Updated"
}Query Invoices
GET /quickbooks/v3/company/:realmId/query?query=SELECT%20*%20FROM%20Invoice%20MAXRESULTS%20100Create Invoice
POST /quickbooks/v3/company/:realmId/invoice
Content-Type: application/json
{
"CustomerRef": {"value": "123"},
"Line": [
{
"Amount": 100.00,
"DetailType": "SalesItemLineDetail",
"SalesItemLineDetail": {
"ItemRef": {"value": "1"},
"Qty": 1
}
}
]
}Delete Invoice
POST /quickbooks/v3/company/:realmId/invoice?operation=delete
Content-Type: application/json
{
"Id": "123",
"SyncToken": "0"
}Create Payment
POST /quickbooks/v3/company/:realmId/payment
Content-Type: application/json
{
"CustomerRef": {"value": "123"},
"TotalAmt": 100.00,
"Line": [
{
"Amount": 100.00,
"LinkedTxn": [{"TxnId": "456", "TxnType": "Invoice"}]
}
]
}Profit and Loss
GET /quickbooks/v3/company/:realmId/reports/ProfitAndLoss?start_date=2024-01-01&end_date=2024-12-31Balance Sheet
GET /quickbooks/v3/company/:realmId/reports/BalanceSheet?date=2024-12-31Batch Operations
POST /quickbooks/v3/company/:realmId/batch
Content-Type: application/json
{
"BatchItemRequest": [
{"bId": "1", "Query": "SELECT * FROM Customer MAXRESULTS 2"},
{"bId": "2", "Query": "SELECT * FROM Vendor MAXRESULTS 2"}
]
}Daily Quota
Maton enforces a daily quota of 1,000 requests per account. The quota resets every 24 hours in a rolling window. To increase this limit, reach out to support@maton.ai.