v48

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-262621423.8 MB

Create a sales receipt

Creates a sales receipt for a sale paid in full. If you include credit card transaction details, QuickBooks requires the payment method to reference a credit card type and automatically deposits the funds to Undeposited Funds rather than a specific bank account.

post/quickbooks-desktop/sales-receipts

Headers

Conductor-End-User-Idstring required

The ID of the End-User to receive this request.

Example:end_usr_1234567abcdefg

The ID of the End-User to receive this request.

Request body

customerIdstring

The customer or customer-job to which the payment for this sales receipt is credited.

classIdstring

The sales receipt's class. Classes can be used to categorize objects into meaningful segments, such as department, location, or type of work. In QuickBooks, class tracking is off by default. A class defined here is automatically used in this sales receipt's line items unless overridden at the line item level.

documentTemplateIdstring

The predefined template in QuickBooks that determines the layout and formatting for this sales receipt when printed or displayed.

transactionDatestring date required

The date of this sales receipt, in ISO 8601 format (YYYY-MM-DD).

refNumberstring

The case-sensitive user-defined reference number for this sales receipt, which can be used to identify the transaction in QuickBooks. This value is not required to be unique and can be arbitrarily changed by the QuickBooks user. When left blank in this create request, this field will be left blank in QuickBooks (i.e., it does not auto-increment).

Maximum length: 11 characters.

isPendingboolean

Indicates whether this sales receipt has not been completed.

checkNumberstring

The check number of a check received for this sales receipt.

paymentMethodIdstring

The sales receipt's payment method (e.g., cash, check, credit card).

NOTE: If this sales receipt contains credit card transaction data supplied from QuickBooks Merchant Services (QBMS) transaction responses, you must specify a credit card payment method (e.g., "Visa", "MasterCard", etc.).

dueDatestring date

The date by which this sales receipt must be paid, in ISO 8601 format (YYYY-MM-DD).

NOTE: For sales receipts, this field is often null because sales receipts are generally used for point-of-sale payments, where full payment is received at the time of purchase.

salesRepresentativeIdstring

The sales receipt's sales representative. Sales representatives can be employees, vendors, or other names in QuickBooks.

shippingDatestring date

The date when the products or services for this sales receipt were shipped or are expected to be shipped, in ISO 8601 format (YYYY-MM-DD).

shippingMethodIdstring

The shipping method used for this sales receipt, such as standard mail or overnight delivery.

shipmentOriginstring

The origin location from where the product associated with this sales receipt is shipped. This is the point at which ownership and liability for goods transfer from seller to buyer. Internally, QuickBooks uses the term "FOB" for this field, which stands for "freight on board". This field is informational and has no accounting implications.

Maximum length: 13 characters.

salesTaxItemIdstring

The sales-tax item used to calculate the actual tax amount for this sales receipt's transactions by applying a specific tax rate collected for a single tax agency. Unlike salesTaxCode, which only indicates general taxability, this field drives the actual tax calculation and reporting.

For sales receipts, while using this field to specify a single tax item/group that applies uniformly is recommended, complex tax scenarios may require alternative approaches. In such cases, you can set this field to a 0% tax item (conventionally named "Tax Calculated On Invoice") and handle tax calculations through line items instead. When using line items for taxes, note that only individual tax items (not tax groups) can be used, subtotals can help apply a tax to multiple items but only the first tax line after a subtotal is calculated automatically (subsequent tax lines require manual amounts), and the rate column will always display the actual tax amount rather than the rate percentage.

memostring

A memo or note for this sales receipt that appears in reports, but not on the sales receipt.

customerMessageIdstring

The message to display to the customer on the sales receipt.

isQueuedForPrintboolean

Indicates whether this sales receipt is included in the queue of documents for QuickBooks to print.

isQueuedForEmailboolean

Indicates whether this sales receipt is included in the queue of documents for QuickBooks to email to the customer.

salesTaxCodeIdstring

The sales-tax code for this sales receipt, determining whether it is taxable or non-taxable. This can be overridden at the transaction-line level.

Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes can also be created in QuickBooks Desktop. If QuickBooks Desktop is not set up to charge sales tax (via the "Do You Charge Sales Tax?" preference), it assigns the default non-taxable sales-tax code configured in the company file to all sales.

depositToAccountIdstring

The account where the funds for this sales receipt will be or have been deposited.

otherCustomFieldstring

A built-in custom field for additional information specific to this sales receipt. Unlike the user-defined fields in the customFields array, this is a standard QuickBooks field that exists for all sales receipts for convenience. Developers often use this field for tracking information that doesn't fit into other standard QuickBooks fields. Unlike otherCustomField1 and otherCustomField2, which are line item fields, this exists at the transaction level. Hidden by default in the QuickBooks UI.

exchangeRatenumber

The market exchange rate between this sales receipt's currency and the home currency in QuickBooks at the time of this transaction. Represented as a decimal value (e.g., 1.2345 for 1 EUR = 1.2345 USD if USD is the home currency).

externalIdstring uuid

A globally unique identifier (GUID) you, the developer, can provide for tracking this object in your external system. This field is immutable and can only be set during object creation.

IMPORTANT: This field must be formatted as a valid GUID; otherwise, QuickBooks will return an error.

Example request

{
  "customerId": "80000001-1234567890",
  "classId": "80000001-1234567890",
  "documentTemplateId": "80000001-1234567890",
  "transactionDate": "2024-10-01",
  "refNumber": "RECEIPT-1234",
  "billingAddress": {
    "line1": "Conductor Labs Inc.",
    "line2": "540 Market St.",
    "line3": "Suite 100",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94110",
    "country": "United States",
    "note": "Conductor HQ"
  },
  "shippingAddress": {
    "line1": "Conductor Labs Inc.",
    "line2": "540 Market St.",
    "line3": "Suite 100",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94110",
    "country": "United States",
    "note": "Conductor HQ"
  },
  "checkNumber": "1234567890",
  "paymentMethodId": "80000001-1234567890",
  "dueDate": "2024-10-31",
  "salesRepresentativeId": "80000001-1234567890",
  "shippingDate": "2024-10-01",
  "shippingMethodId": "80000001-1234567890",
  "shipmentOrigin": "San Francisco, CA",
  "salesTaxItemId": "80000001-1234567890",
  "memo": "Payment received at store location - cash",
  "customerMessageId": "80000001-1234567890",
  "isQueuedForPrint": true,
  "isQueuedForEmail": true,
  "salesTaxCodeId": "80000001-1234567890",
  "depositToAccountId": "80000001-1234567890",
  "creditCardTransaction": {
    "request": {
      "number": "xxxxxxxxxxxx1234",
      "expirationMonth": 12,
      "expirationYear": 2024,
      "name": "John Doe",
      "address": "1234 Main St, Anytown, USA, 12345",
      "postalCode": "12345",
      "commercialCardCode": "corporate",
      "transactionMode": "card_not_present",
      "transactionType": "charge"
    },
    "response": {
      "statusMessage": "Success",
      "creditCardTransactionId": "1234567890",
      "merchantAccountNumber": "1234567890",
      "authorizationCode": "1234567890",
      "avsStreetStatus": "pass",
      "avsZipStatus": "pass",
      "cardSecurityCodeMatch": "pass",
      "reconBatchId": "1234567890",
      "paymentGroupingCode": 2,
      "paymentStatus": "completed",
      "transactionAuthorizedAt": "2024-01-01T12:34:56Z",
      "transactionAuthorizationStamp": 2,
      "clientTransactionId": "1234567890"
    }
  },
  "otherCustomField": "Special handling required",
  "exchangeRate": 1.2345,
  "externalId": "12345678-abcd-1234-abcd-1234567890ab",
  "lines": [
    {
      "itemId": "80000001-1234567890",
      "description": "New office chair",
      "quantity": 5,
      "unitOfMeasure": "Each",
      "rate": "10.00",
      "ratePercent": "10.5",
      "priceLevelId": "80000001-1234567890",
      "classId": "80000001-1234567890",
      "amount": "1000.00",
      "priceRuleConflictStrategy": "base_price",
      "inventorySiteId": "80000001-1234567890",
      "inventorySiteLocationId": "80000001-1234567890",
      "serialNumber": "SN1234567890",
      "lotNumber": "LOT2023-001",
      "serviceDate": "2024-03-15",
      "salesTaxCodeId": "80000001-1234567890",
      "overrideItemAccountId": "80000001-1234567890",
      "otherCustomField1": "Special handling required",
      "otherCustomField2": "Always ship with a spare",
      "creditCardTransaction": {
        "request": {
          "number": "xxxxxxxxxxxx1234",
          "expirationMonth": 12,
          "expirationYear": 2024,
          "name": "John Doe",
          "address": "1234 Main St, Anytown, USA, 12345",
          "postalCode": "12345",
          "commercialCardCode": "corporate",
          "transactionMode": "card_not_present",
          "transactionType": "charge"
        },
        "response": {
          "statusMessage": "Success",
          "creditCardTransactionId": "1234567890",
          "merchantAccountNumber": "1234567890",
          "authorizationCode": "1234567890",
          "avsStreetStatus": "pass",
          "avsZipStatus": "pass",
          "cardSecurityCodeMatch": "pass",
          "reconBatchId": "1234567890",
          "paymentGroupingCode": 2,
          "paymentStatus": "completed",
          "transactionAuthorizedAt": "2024-01-01T12:34:56Z",
          "transactionAuthorizationStamp": 2,
          "clientTransactionId": "1234567890"
        }
      },
      "customFields": [
        {
          "ownerId": "0",
          "name": "Customer Rating",
          "value": "Premium"
        }
      ]
    }
  ],
  "lineGroups": [
    {
      "itemGroupId": "80000001-1234567890",
      "quantity": 5,
      "unitOfMeasure": "Each",
      "serviceDate": "2024-03-15",
      "inventorySiteId": "80000001-1234567890",
      "inventorySiteLocationId": "80000001-1234567890",
      "customFields": [
        {
          "ownerId": "0",
          "name": "Customer Rating",
          "value": "Premium"
        }
      ]
    }
  ]
}

Response

Returns the newly created sales receipt.

idstring required

The unique identifier assigned by QuickBooks to this sales receipt. This ID is unique across all transaction types.

objectType'qbd_sales_receipt' required

The type of object. This value is always "qbd_sales_receipt".

createdAtstring required

The date and time when this sales receipt was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.

updatedAtstring required

The date and time when this sales receipt was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.

revisionNumberstring required

The current QuickBooks-assigned revision number of this sales receipt object, which changes each time the object is modified. When updating this object, you must provide the most recent revisionNumber to ensure you're working with the latest data; otherwise, the update will return an error.

transactionDatestring date required

The date of this sales receipt, in ISO 8601 format (YYYY-MM-DD).

refNumberstring nullable required

The case-sensitive user-defined reference number for this sales receipt, which can be used to identify the transaction in QuickBooks. This value is not required to be unique and can be arbitrarily changed by the QuickBooks user.

isPendingboolean nullable required

Indicates whether this sales receipt has not been completed.

checkNumberstring nullable required

The check number of a check received for this sales receipt.

dueDatestring date nullable required

The date by which this sales receipt must be paid, in ISO 8601 format (YYYY-MM-DD).

NOTE: For sales receipts, this field is often null because sales receipts are generally used for point-of-sale payments, where full payment is received at the time of purchase.

shippingDatestring date nullable required

The date when the products or services for this sales receipt were shipped or are expected to be shipped, in ISO 8601 format (YYYY-MM-DD).

shipmentOriginstring nullable required

The origin location from where the product associated with this sales receipt is shipped. This is the point at which ownership and liability for goods transfer from seller to buyer. Internally, QuickBooks uses the term "FOB" for this field, which stands for "freight on board". This field is informational and has no accounting implications.

subtotalstring required

The subtotal of this sales receipt, which is the sum of all sales receipt lines before taxes and payments are applied, represented as a decimal string.

salesTaxPercentagestring nullable required

The sales tax percentage applied to this sales receipt, represented as a decimal string.

salesTaxTotalstring nullable required

The total amount of sales tax charged for this sales receipt, represented as a decimal string.

totalAmountstring required

The total monetary amount of this sales receipt, equivalent to the sum of the amounts in lines and lineGroups, represented as a decimal string.

exchangeRatenumber nullable required

The market exchange rate between this sales receipt's currency and the home currency in QuickBooks at the time of this transaction. Represented as a decimal value (e.g., 1.2345 for 1 EUR = 1.2345 USD if USD is the home currency).

totalAmountInHomeCurrencystring nullable required

The total monetary amount of this sales receipt converted to the home currency of the QuickBooks company file. Represented as a decimal string.

memostring nullable required

A memo or note for this sales receipt that appears in reports, but not on the sales receipt.

isQueuedForPrintboolean nullable required

Indicates whether this sales receipt is included in the queue of documents for QuickBooks to print.

isQueuedForEmailboolean nullable required

Indicates whether this sales receipt is included in the queue of documents for QuickBooks to email to the customer.

otherCustomFieldstring nullable required

A built-in custom field for additional information specific to this sales receipt. Unlike the user-defined fields in the customFields array, this is a standard QuickBooks field that exists for all sales receipts for convenience. Developers often use this field for tracking information that doesn't fit into other standard QuickBooks fields. Unlike otherCustomField1 and otherCustomField2, which are line item fields, this exists at the transaction level. Hidden by default in the QuickBooks UI.

externalIdstring nullable required

A globally unique identifier (GUID) you, the developer, can provide for tracking this object in your external system. This field is immutable and can only be set during object creation.

Example response

{
  "id": "123ABC-1234567890",
  "objectType": "qbd_sales_receipt",
  "createdAt": "2025-01-01T12:34:56+00:00",
  "updatedAt": "2025-02-01T12:34:56+00:00",
  "revisionNumber": "1721172183",
  "customer": {
    "id": "80000001-1234567890",
    "fullName": "Acme Corporation"
  },
  "class": {
    "id": "80000001-1234567890",
    "fullName": "Retail Sales"
  },
  "documentTemplate": {
    "id": "80000001-1234567890",
    "fullName": "Sales Receipt Template"
  },
  "transactionDate": "2024-10-01",
  "refNumber": "RECEIPT-1234",
  "billingAddress": {
    "line1": "Conductor Labs Inc.",
    "line2": "540 Market St.",
    "line3": "Suite 100",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94110",
    "country": "United States",
    "note": "Conductor HQ"
  },
  "shippingAddress": {
    "line1": "Conductor Labs Inc.",
    "line2": "540 Market St.",
    "line3": "Suite 100",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94110",
    "country": "United States",
    "note": "Conductor HQ"
  },
  "checkNumber": "1234567890",
  "paymentMethod": {
    "id": "80000001-1234567890",
    "fullName": "Credit Card"
  },
  "dueDate": "2024-10-31",
  "salesRepresentative": {
    "id": "80000001-1234567890",
    "fullName": "Jane Doe"
  },
  "shippingDate": "2024-10-01",
  "shippingMethod": {
    "id": "80000001-1234567890",
    "fullName": "FedEx Ground"
  },
  "shipmentOrigin": "San Francisco, CA",
  "subtotal": "1000.00",
  "salesTaxItem": {
    "id": "80000001-1234567890",
    "fullName": "State Sales Tax"
  },
  "salesTaxPercentage": "0.07",
  "salesTaxTotal": "10.00",
  "totalAmount": "1000.00",
  "currency": {
    "id": "80000001-1234567890",
    "fullName": "USD"
  },
  "exchangeRate": 1.2345,
  "totalAmountInHomeCurrency": "1234.56",
  "memo": "Payment received at store location - cash",
  "customerMessage": {
    "id": "80000001-1234567890",
    "fullName": "Thank you for your business!"
  },
  "isQueuedForPrint": true,
  "isQueuedForEmail": true,
  "salesTaxCode": {
    "id": "80000001-1234567890",
    "fullName": "Non"
  },
  "depositToAccount": {
    "id": "80000001-1234567890",
    "fullName": "Undeposited Funds"
  },
  "creditCardTransaction": {
    "request": {
      "number": "xxxxxxxxxxxx1234",
      "expirationMonth": 12,
      "expirationYear": 2024,
      "name": "John Doe",
      "address": "1234 Main St, Anytown, USA, 12345",
      "postalCode": "12345",
      "commercialCardCode": "corporate",
      "transactionMode": "card_not_present",
      "transactionType": "charge"
    },
    "response": {
      "statusMessage": "Success",
      "creditCardTransactionId": "1234567890",
      "merchantAccountNumber": "1234567890",
      "authorizationCode": "1234567890",
      "avsStreetStatus": "pass",
      "avsZipStatus": "pass",
      "cardSecurityCodeMatch": "pass",
      "reconBatchId": "1234567890",
      "paymentGroupingCode": 2,
      "paymentStatus": "completed",
      "transactionAuthorizedAt": "2024-01-01T12:34:56Z",
      "transactionAuthorizationStamp": 2,
      "clientTransactionId": "1234567890"
    }
  },
  "otherCustomField": "Special handling required",
  "externalId": "12345678-abcd-1234-abcd-1234567890ab",
  "lines": [
    {
      "id": "456DEF-1234567890",
      "objectType": "qbd_sales_receipt_line",
      "item": {
        "id": "80000001-1234567890",
        "fullName": "Widget A"
      },
      "description": "New office chair",
      "quantity": 5,
      "unitOfMeasure": "Each",
      "overrideUnitOfMeasureSet": {
        "id": "80000001-1234567890",
        "fullName": "Volume Units"
      },
      "rate": "10.00",
      "ratePercent": "10.5",
      "class": {
        "id": "80000001-1234567890",
        "fullName": "Supplies:Furniture"
      },
      "amount": "1000.00",
      "inventorySite": {
        "id": "80000001-1234567890",
        "fullName": "Main Warehouse"
      },
      "inventorySiteLocation": {
        "id": "80000001-1234567890",
        "fullName": "Aisle 3, Shelf B"
      },
      "serialNumber": "SN1234567890",
      "lotNumber": "LOT2023-001",
      "expirationDate": "2025-12-31",
      "serviceDate": "2024-03-15",
      "salesTaxCode": {
        "id": "80000001-1234567890",
        "fullName": "Non"
      },
      "otherCustomField1": "Special handling required",
      "otherCustomField2": "Always ship with a spare",
      "creditCardTransaction": {
        "request": {
          "number": "xxxxxxxxxxxx1234",
          "expirationMonth": 12,
          "expirationYear": 2024,
          "name": "John Doe",
          "address": "1234 Main St, Anytown, USA, 12345",
          "postalCode": "12345",
          "commercialCardCode": "corporate",
          "transactionMode": "card_not_present",
          "transactionType": "charge"
        },
        "response": {
          "statusMessage": "Success",
          "creditCardTransactionId": "1234567890",
          "merchantAccountNumber": "1234567890",
          "authorizationCode": "1234567890",
          "avsStreetStatus": "pass",
          "avsZipStatus": "pass",
          "cardSecurityCodeMatch": "pass",
          "reconBatchId": "1234567890",
          "paymentGroupingCode": 2,
          "paymentStatus": "completed",
          "transactionAuthorizedAt": "2024-01-01T12:34:56Z",
          "transactionAuthorizationStamp": 2,
          "clientTransactionId": "1234567890"
        }
      },
      "customFields": [
        {
          "ownerId": "0",
          "name": "Customer Rating",
          "type": "string_1024_type",
          "value": "Premium"
        }
      ]
    }
  ],
  "lineGroups": [
    {
      "id": "456DEF-1234567890",
      "objectType": "qbd_sales_receipt_line_group",
      "itemGroup": {
        "id": "80000001-1234567890",
        "fullName": "Office Supplies Bundle"
      },
      "description": "Standard widget bulk package",
      "quantity": 5,
      "unitOfMeasure": "Each",
      "overrideUnitOfMeasureSet": {
        "id": "80000001-1234567890",
        "fullName": "Volume Units"
      },
      "shouldPrintItemsInGroup": true,
      "totalAmount": "1000.00",
      "serviceDate": "2024-03-15",
      "lines": [
        {
          "id": "456DEF-1234567890",
          "objectType": "qbd_sales_receipt_line",
          "item": {
            "id": "80000001-1234567890",
            "fullName": "Widget A"
          },
          "description": "New office chair",
          "quantity": 5,
          "unitOfMeasure": "Each",
          "overrideUnitOfMeasureSet": {
            "id": "80000001-1234567890",
            "fullName": "Volume Units"
          },
          "rate": "10.00",
          "ratePercent": "10.5",
          "class": {
            "id": "80000001-1234567890",
            "fullName": "Supplies:Furniture"
          },
          "amount": "1000.00",
          "inventorySite": {
            "id": "80000001-1234567890",
            "fullName": "Main Warehouse"
          },
          "inventorySiteLocation": {
            "id": "80000001-1234567890",
            "fullName": "Aisle 3, Shelf B"
          },
          "serialNumber": "SN1234567890",
          "lotNumber": "LOT2023-001",
          "expirationDate": "2025-12-31",
          "serviceDate": "2024-03-15",
          "salesTaxCode": {
            "id": "80000001-1234567890",
            "fullName": "Non"
          },
          "otherCustomField1": "Special handling required",
          "otherCustomField2": "Always ship with a spare",
          "creditCardTransaction": {
            "request": {
              "number": "xxxxxxxxxxxx1234",
              "expirationMonth": 12,
              "expirationYear": 2024,
              "name": "John Doe",
              "address": "1234 Main St, Anytown, USA, 12345",
              "postalCode": "12345",
              "commercialCardCode": "corporate",
              "transactionMode": "card_not_present",
              "transactionType": "charge"
            },
            "response": {
              "statusMessage": "Success",
              "creditCardTransactionId": "1234567890",
              "merchantAccountNumber": "1234567890",
              "authorizationCode": "1234567890",
              "avsStreetStatus": "pass",
              "avsZipStatus": "pass",
              "cardSecurityCodeMatch": "pass",
              "reconBatchId": "1234567890",
              "paymentGroupingCode": 2,
              "paymentStatus": "completed",
              "transactionAuthorizedAt": "2024-01-01T12:34:56Z",
              "transactionAuthorizationStamp": 2,
              "clientTransactionId": "1234567890"
            }
          },
          "customFields": [
            {
              "ownerId": "0",
              "name": "Customer Rating",
              "type": "string_1024_type",
              "value": "Premium"
            }
          ]
        }
      ],
      "customFields": [
        {
          "ownerId": "0",
          "name": "Customer Rating",
          "type": "string_1024_type",
          "value": "Premium"
        }
      ]
    }
  ],
  "customFields": [
    {
      "ownerId": "0",
      "name": "Customer Rating",
      "type": "string_1024_type",
      "value": "Premium"
    }
  ]
}