Billing Presentment - Update Invoice


Updates existing invoice in the Billing Presentment database.

Adds new invoice, when provided email/invoice_no does not match an existing invoice.

Variable Required Max Size Value Notes
publisher-name Mandatory NA Gateway account username issued to you.
publisher-password Mandatory NA Remote Client Password - This is different then the password used to login.
mode Mandatory NA update_invoice Value needs to be set to ‘update_invoice’
email Mandatory 80 customer@domain.com Email address of customer (single email address only)
clientid Optional 250 This may be used instead of supplying the customer’s email address. When ’email’ isn’t specified and this field is defined, will use the email address from the corresponding contact listed within your Billing Presentment admin area. This value must exactly match the unique Client ID you specified for that customer within the Manage Contacts section of your Billing Presentment admin area.
invoice_no Optional 24 This is a unique invoice number for the customer’s bill. This is similar to our orderID field, but is for tracking all payment attempts against this invoice. If not defined, a unique value will be defined for you.
enter_date Optional 10 YYYYMMDD format This is the date the invoice expires after. A customer may pay this bill up to the date indicated. Once this date has passed, they will be unable to pay the invoice online. If left blank, the system will set the date 1 month from the date you uploaded the invoice on. (This date is based on GMT)
expire_date Optional 10 YYYYMMDD format This is the date the invoice expires after. A customer may pay this bill up to the date indicated. Once this date has passed, they will be unable to pay the invoice online. If left blank, the system will set the date 1 month from the date you uploaded the invoice on. (This date is based on GMT)
account_no Optional 24 This is the account number in your system. This is to help you track which account in your system the invoice belongs to.
amount Mandatory 10 1234.56 format This is the total dollar amount the invoice is for.
tax Optional 10 1234.56 format This is the total tax applied to the invoice.
shipping Optional 10 1234.56 format This is the total shipping fee applied to the invoice.
handling Optional 10 1234.56 format This is the total handling fee applied to the invoice.
discount Optional 10 1234.56 format This is the total discount applied to the invoice.
status Optional 20 open,closed,hidden,merged,paid,expired The value of this field, will represent the type of invoice that has been uploaded.The value of this field, will represent the type of invoice you are seeking. [When not specified, an open status will be assumed]open - represents invoices which are open/unpaid.closed - represents invoices which were revoked, but can still be seen.hidden - represents invoices which the client cannot see.merged - represents invoices which were merged into another invoice.paid - represents invoices which have been paid.expired - represents open invoices which have passed its expire date.
billcycle Optional 10 number of months The value of this field will represent the number of months between each installment payment. Used in conjunction with the ‘monthly’ field.
monthly Optional 10 1234.56 format The value of this field will represent the amount charged each billing cycle. Used in conjunction with the ‘billcycle’ field.
balance Optional 10 1234.56 format This is the total amount left to be paid on the invoice. Used in conjunction with the ‘billcycle’ and ‘monthly’ fields. When omitted, will assume the total amount of the invoice. When the balance is less then the monthly amount, the system will charge only the remaining balance on the last installment payment.
public_notes Optional NA Use this field to include comments/notes you want the customer to see, when they view the invoice online.
private_notes Optional NA Use this field to include comments/notes you want to privately keep on file with the invoice. (these comments/notes are not viewable by customers.)
itemX Optional 23 SKU of product SKU of a product purchased.
costX Optional 10 1234.56 format Per unit cost of the product.
qtyX Optional 10 Number of units purchased of the product.
descrX Optional 200 Short 1 line description of the product.
clientname Optional 40 Custoemr’s name to appear on invoice. [see Special Note #1]
clientcompany Optional 40 Customer’s company name to appear on invoice. [see Special Note #1]
clientaddr1 Optional 40 Customer’s address line 1 to appear on invoice. [see Special Note #1]
clientaddr2 Optional 40 Customer’s address line 2 to appear on invoice. [see Special Note #1]
clientcity Optional 40 Customer’s city to appear on invoice. [see Special Note #1]
clientstate Optional 2 Customer’s state to appear on invoice - in 2 char. state code format. [see Special Note #1]
clientzip Optional 14 Customer’s zip/postal code to appear on invoice. [see Special Note #1]
clientcountry Optional 2 Customer’s country to appear on invoice - in 2 char. format. [see Special Note #1]
shipsame Optional 3 yes When set to ‘yes’ customer’s address provided will be used for shipping address.
shipname Optional 40 Shipping Name as it should appear in invoices.
shipcompany Optional 40 Shipping Company as it should appear in invoices.
shipaddr1 Optional 40 Shipping address line 1 as it should appear in invoices.
shipaddr2 Optional 40 Shipping address line 2 as it should appear in invoices.
shipcity Optional 40 Shipping City as it should appear in invoices.
shipstate Optional 2 Shipping State as it should appear in invoices. 2 Char. State Code
shipzip Optional 14 Shipping Zip Code as it should appear in invoices.
shipcountry Optional 2 Shipping Country as it should appear in invoices. 2 Char. Country Code

Notes:

Returns FinalStatus, MErrMsg, aux-msg, resp-code

SPECIAL NOTES:

1 - You should only need to define this, if customer is not listed within the Manage Contacts section of your Billing Presentment admin area, or if you want to update the contact information you already have on file for that email address.

All client contact address fields MUST be present (i.e. clientname, clientcompany, clientaddr1, clientaddr2, clientcity, clientstate, clientzip, clientcountry), as we will automatically overwrite ALL of those noted fields with the contact info you have provided. If you do not define a particular field, it will simply be replaced with nothing (blanking out that particular field).