Quickbooks Online Payment XML
Tasks
XML
The Import Payments task allows you to create and update payments in QuickBooks. Any fields not documented below are not currently supported by our upload.
Sample import file for creating a basic payment:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfPayment
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<RecordOfPayment>
<Data
domain="QBO"
xmlns="http://schema.intuit.com/finance/v3">
<CustomerRef name="Zynk Software"></CustomerRef>
<TotalAmt>50</TotalAmt>
</Data>
</RecordOfPayment>
</ArrayOfPayment>
In each of the following sections most of the XML has been omitted to make the samples easier to read, you will need to provide the above as a minimum to create a payment. The whole structure from the root element down is shown in the samples below as a reference of where elements should appear in the object model.
Payment Details
XML Field | QuickBooks Field | Example | Field Type | Field Length | Input | Notes |
---|---|---|---|---|---|---|
Id | - | 1234 | integer | - | Optional | Used for matching to existing payments. |
ExternalId | - | 6492 | string | 255 | Optional | Used for matching to existing payments. The value provided will be stored in Zynk's truth table, and used to lookup the Id of the customer. |
CustomerRef | Customer | 1 | integer | - | Required | If you don't know the customer ID, you can specify their display name using the name attribute, and the task will perform a lookup. |
TxnDate | Payment Date | 2016-07-15 | date | - | Optional | Defaults to the current date if not specified. |
PaymentMethodRef | Payment Method | 1 | integer | - | Optional | If you don't know the payment method ID, you can specify the name using the name attribute, and the task will perform a lookup. |
PaymentRefNum | Reference No. | PC3452DX | string | 21 | Optional | |
DepositToAccountRef | Deposit To | 1 | integer | - | Optional | If you don't know the account ID, you can specify the name using the name attribute, and the task will perform a lookup. The chosen account must have type 'Other Current Asset' or 'Bank'. Defaults to the un-deposited funds account if not specified. |
TotalAmt | Amount Received | 50 | decimal | - | Required | |
ExchangeRate | - | 1.25 | decimal | - | Optional | Defaults to 1 if not specified. |
PrivateNote | Memo | Sample memo | string | 4000 | Optional |
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfPayment
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<RecordOfPayment>
<ExternalId>1234</ExternalId>
<Data
domain="QBO"
xmlns="http://schema.intuit.com/finance/v3">
<Id>1234</Id>
<CustomerRef name="Zynk Software">1</CustomerRef>
<TxnDate>2016-07-15</TxnDate>
<PaymentMethodRef name="Card">1</PaymentMethodRef>
<PaymentRefNum>PC3452DX</PaymentRefNum>
<DepositToAccountRef name="Current">1</DepositToAccountRef>
<TotalAmt>50</TotalAmt>
<ExchangeRate>1</ExchangeRate>
<PrivateNote>Sample memo</PrivateNote>
</Data>
</RecordOfPayment>
</ArrayOfPayment>
Payment Lines
You can optionally provide a one or more lines, which represent the outstanding transactions you want to link the payment to. If you don't provide any lines, the payment will automatically be linked to the oldest outstanding transaction(s).
XML Field | QuickBooks Field | Example | Field Type | Field Length | Input | Notes |
---|---|---|---|---|---|---|
Amount | Payment | 50 | integer | - | Required | |
LinkedTxn > TxnId | Description | 1 | string | 15 | Dependant | Required if TxnLineId is specified. Used in conjunction with TxnType to specify the transaction the payment is to be linked to. |
LinkedTxn > TxnType | Description | Invoice | enum | - | Dependant | Required if TxnLineId is specified. Used in conjunction with TxnId to specify the transaction the payment is to be linked to. Allowed values are Invoice, CreditMemo, JournalEntry, CreditCardCredit, Check and Expense. |
LinkedTxn > TxnLineId | - | 1 | string | 15 | Optional | The line number of a specific line of the linked transaction. |
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfPayment
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<RecordOfPayment>
<Data
domain="QBO" sparse="false"
xmlns="http://schema.intuit.com/finance/v3">
<Line>
<Amount>50</Amount>
<LinkedTxn>
<TxnId>1</TxnId>
<TxnType>Invoice</TxnType>
<TxnLineId>1</TxnLineId>
</LinkedTxn>
</Line>
</Data>
</RecordOfPayment>
</ArrayOfPayment>