ReceivePayments
Create, update, delete, and query QuickBooks Receive Payment transactions. QBXMLVersion must be set to 6.0 or higher to update a ReceivePayment.
Table Specific Information
ReceivePayments may be inserted, queried, or updated via the ReceivePayments or ReceivePaymentsAppliedTo tables. ReceivePayments may be deleted by using the ReceivePayments table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
By default, SupportEnhancedSQL is set to true, and the following will be honored if present. Other filters will be executed client side. If SupportEnhancedSQL is set to false, only the following filters will be honored.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for ReceivePayments are Id, Date, TimeModified, ReferenceNumber, CustomerName, CustomerId, DepositToAccountName, and DepositToAccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM ReceivePayments WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'
Insert
To add a ReceivePayment, specify the Customer and Amount. The AppliedToAggregate column may be used to specify an XML aggregate of AppliedTo data. In a Receive Payment, each AppliedTo aggregate represents the transaction to which this part of the payment is being applied. The columns that may be used in these aggregates are defined in the ReceivePaymentsAppliedTo table and it starts with AppliedTo. To use the ApplyToAggregate column, set the AutoApply pseudo column to Custom. For example, the following will insert a new ReceivePayment with two AppliedTo entries:
INSERT INTO ReceivePayments (CustomerName, Amount, AutoApply, AppliedToAggregate) VALUES ('Cook, Brian', '300.00', 'Custom', '<ReceivePaymentsAppliedTo> <Row><AppliedToRefId>178C1-1450221347</AppliedToRefId><AppliedToPaymentAmount>200.00</AppliedToPaymentAmount></Row> <Row><AppliedToRefId>881-933371709</AppliedToRefId><AppliedToPaymentAmount>100.00</AppliedToPaymentAmount></Row> </ReceivePaymentsAppliedTo>')
If you would like to insert a ReceivePayment and let QuickBooks automatically determine which transaction to apply it to, you can use the AutoApply pseudo column to apply the transaction to an existing transaction. For example:
INSERT INTO ReceivePayments (CustomerName, Amount, AutoApply) VALUES ('Cook, Brian', '300.00', 'ExistingTransactions')
To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name | Type | ReadOnly | References | ColumnSize | Description |
ID [KEY] | String | True | 255 |
The unique identifier for the transaction. | |
ReferenceNumber | String | False | 21 |
The transaction reference number. | |
TxnNumber | Integer | True |
The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. | ||
Date | Date | False |
The date of the transaction. | ||
UnusedPayment | Decimal | True |
This property will contain the amount of the payment that was not applied to existing invoices. | ||
Amount | Decimal | False |
The amount of the payment received from the Customer. | ||
AccountsReceivableName | String | False | 1000 |
A reference to the name of the accounts-receivable account where the money received from this transaction will be deposited. | |
AccountsReceivableId | String | False |
Accounts.ID | 255 |
A reference to the Id of the accounts-receivable account where the money received from this transaction will be deposited. |
CustomerName | String | False | 1000 |
The name of the customer who has purchased goods or services from the company. This is required to have a value when inserting if CustomerID does not. | |
CustomerId | String | False |
Customers.ID | 255 |
The Id of the customer who has purchased goods or services from the company. This is required to have a value when inserting if CustomerName does not. |
DepositToAccountName | String | False | 1000 |
The account name that the payment should be deposited to. | |
DepositToAccountId | String | False |
Accounts.ID | 255 |
The account Id that the payment should be deposited to. |
PaymentMethodName | String | False | 100 |
Name of the payment method that already exists in QuickBooks. | |
PaymentMethodId | String | False | 255 |
Id of the payment method that already exists in QuickBooks. | |
Memo | String | False | 5000 |
A memo to appear on internal reports. | |
ExchangeRate | Double | False |
The exachange rate of the payment currency to the home currency. | ||
TotalAmountInHomeCurrency | Decimal | False |
The total amount in home currency. | ||
AppliedToAggregate | String | False | 5000 |
An aggregate of the applied-to data which can be used for adding a bill payment credit card and its applied-to data. | |
CustomFields | String | False |
Custom fields returned from QuickBooks and formatted into XML. | ||
TimeModified | Datetime | True |
When the receive payment was last modified. | ||
TimeCreated | Datetime | True |
When the receive payment was created. |
Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
AutoApply | String |
How the payment should be applied. The allowed values are ExistingTransactions, FutureTransactions, Custom. The default value is ExistingTransactions. |