BBAPI: Invoice Commands
Invoices are generated from active and pending orders and is the responsible medium for collecting funds. Orders will never collect funds from a clients account; only invoices can collect funds.
On This Page:
Available Commands
SetInvoices
Update an invoice in the system. Invoices cannot be manually inserted into the system. Use processOrders to generate invoices from order records. Only the status of an invoice can be updated.
GetInvoices
Retrieve invoice data from the system. You can pass in <getInvoiceHistory>y</getInvoiceHistory> to get the invoice status change history data.
Example 1: Input
This example shows how to retrieve invoice data from the system. If you are trying to find a particular invoice, pass the invoiceID into the system. You can also find all the invoices for a particular order by passing the invoiceOrderID.
Example 1: Response
The API will return the results of your request as shown below. If <getInvoiceHistory> was passed in the request, the status change history log will be passed back as well. Note that a memos node is passed back documenting all the financial memos for the invoice. This information will include all attempts of payment including both failed and successful.
Summary of Nodes
Here is a summary of the nodes that make up the <param> xml and their meaning.
Node |
Type | Description |
|---|---|---|
invoiceID |
Integer | Unique ID for invoice. Use this to look up a specific invoice. |
| invoiceOrderID | Integer | Unique ID of order that invoice belongs to. |
| invoiceStatusID | Integer | Status of the invoice. Possible values are as follows:
|
| invoiceStatusName | String | Textual representation of invoice status. |
| invoiceDate | Integer | Date invoice was created. |
| invoiceDateDue | Integer | Date the invoice is due. |
| invoiceSubTotal | Double | Sub total of all items in invoice. |
| invoiceShipping | Double | Cost of shipping for invoice. |
| invoiceShippingMethodID | Integer | ID of shipping method used to calculate shipping cost for invoice. |
| invoiceShippingMethodName | String | Name of shipping method used to calculate shipping cost for invoice. |
| invoiceTax | Double | Tax to charge on invoice. |
| invoiceGrandTotal | Double | Total amount due for invoice including tax and shipping. |
| invoiceItems | XML | All items found in the invoice. |
| invoiceItemID | Integer | Unique ID of invoiceItem. Mostly used internally. |
| invoiceItemItemID | Integer | Product-item ID |
| invoiceItemItemPrice | Double. | Price of item. Not editable. Price is grabbed from order record and not current item price. |
| invoiceItemItemName | String | Name of item. |
| invoiceItemItemCycle | Integer | Billing cycle ID of item. |
| invoiceItemItemCycleName | String | Billing cycle name of item. |
| invoiceItemQuantity | Integer | Quantity of item in invoice. |
| invoiceItemProductName | String | Name of parent product of item. |
| memos | XML | All financial memos for invoice. |
| memoID | Integer | Unqiue ID of memo. |
| memoTransactionID | String | Transaction ID received from payment processor when attempting payment. |
| memoAmount | Double | Amount that memo was attempted to be processed for. |
| memoStatusID | Integer | Status ID of memo. Possible values are:
|
| memoStatusName | String | Textual representation of memo status. |
| memoMessage | String | Possible message from gateway or system. Typically shows any errors that may have been found. |
| memoType | Char | Type of payment. Either c (credit) or d (debit). |
| memoTransactionFee | Double | Transaction fee of processing payment. Currently only works with paypal. |
| memoDateAttempted | Integer | Date memo was attempted to be processed. |
| memoDate | Integer | Date memo was created. |
| memoRecord | String | A short record of the billing account used to process the memo. |
| histories | XML | Zero or more <history> nodes documenting the status changes of the invoice. |
| historyID | Integer | Unique ID of history record. Typically only used internally. |
| historyStatusID | Integer | Status ID that invoice was changed to. |
| historyStatusName | String | Textual representation of status. |
| historyDate | Integer | Date status was changed. |
| historyMessage | String | A reason for why the status changed. May not contain a value. |
| historyAdminID | Integer | Unique ID of admin that changed the status of the invoice. |
| historyAdminName | String | Name of admin that changed the status of the invoice. |
