post https://api-stage.bill.com/api/v2/Crud/Update/Invoice.json
Update an invoice object.
Warning: All invoice line item details are overwritten with an update operation. When you update an invoice detail, enter all existing invoice line item details.
What is an invoice?
An invoice represents an amount that you are owed by a customer for goods and services that you provide.
You can create an invoice with /Crud/Create/Invoice.json
. In the invoice, add invoice line items to record details about individual goods or services. In addition, you can associate line items to accounts tracking objects, such as item (/Item.json
) or chart of accounts (/ChartOfAccounts.json
).
Other invoice features:
- You can reduce the total invoice amount with an invoice credit (
/CreditMemo.json
). Total invoice amount, credit memos, and any remaining invoice amount to be paid or recorded is available with/Crud/Read/ReceivedPay.json
. - You can send invoices to the customer by email (
/SendInvoice.json
) or US mail (/MailInvoice.json
). exchangeRate
is a required additional field for creating an invoice for an international customer. In addition, each invoice line itemamount
is in the foreign currency. Retrieve the current exchange rate with/GetDynamicExchangeRateQuote2.json
.
Line item price, markups, & discounts
In your request, either price
or percentage (ratePercent
) is required for each invoiceLineItems
object. If you set one, do not set the other.
- If
price
is set,amount
is (quantity
) x (price
). - If
ratePercent
is set for a line item, the line itemamount
is (ratePercent
) x (sum of other line itemamount
values). For example, to apply a discount of 20% in your invoice total of $100, setratePercent
as-20
in the final line item of your request.
"invoiceLineItems": [
{
"entity": "InvoiceLineItem",
"description": "item 01",
"quantity": 1,
"price": 50,
"amount": 50
},
{
"entity": "InvoiceLineItem",
"description": "item 02",
"quantity": 2,
"price": 25,
"amount": 50
},
{
"entity": "InvoiceLineItem",
"description": "discount",
"quantity": 1,
"ratePercent": -20
}
]