Invoices
Invoices are submitted by suppliers to retailers after an order has been completely fulfilled and closed. In general, one invoice is submitted per purchase order.
Relationships
- Brand • Orders belong to a single Supplier.
- Retailer • Orders belong to a single Retailer.
- Invoice Lines • Invoices can have many Invoice Lines.
Operations
Click on an Operation to view requirements, options, & examples.
POST | /v1/brands/{brand_id}/invoices/ | Create an Invoice |
---|---|---|
GET | /v1/brands/{brand_id}/invoices/ | Get a list of Invoices |
GET | /v1/brands/{brand_id}/invoices/{id}/ | Get a single Invoice |
Invoice Properties
id | A static id assigned by RevCascade. Can be used as the primary key in the url of other invoice-related endpoints. |
---|---|
retailer |
The retailer that owns the purchase order and that is expected to pay the invoice. { "id": 1000, "name": "Demo Retailer" } |
brand |
The supplier that submitted the invoice. { "id": 1050, "name": "Demo Vendor" } |
currency | The currency of the invoice. Always 'USD' for now. |
purchase_order_number | The purchase order number from the Retailer's Order Management System. |
invoice_number | The invoice number from the Supplier's financial system. |
terms_net_days_due | The number of days until the invoice is due. |
terms_date_due | The due date of the invoice. |
terms_discount_percent | A discount offered by the supplier if the invoice is paid early. |
terms_discount_days | The number of days until the cutoff date for the discount period. |
terms_discount_date_due | The due date of the invoice in order to qualify for discount. |
remit_to |
The address where the invoice the invoice should be paid. { "type": "residential"", "name1": "Demo Supplier, Inc.", "name2": null, "street1": "1332 Hermosa Ave", "street2": "Suite 14", "city": "Hermosa Beach", "province": "CA", "postal_code": "90254", "country": "US", "phone1": (310) 555-5555, "phone2": null, "fax": null, "email": invoices@demosupplier.com } |
subtotal | The sum of all invoice lines before any charges or allowances. |
charges | An array of additional invoice adjustments that increase the amount due by the retailer (e.g. dropship fees, etc). |
allowances | An array of additional invoice adjustments that decrease the amount due by the retailer (e.g. return allowances, etc). |
due_amount | The total amount due. |
is_acknowledged | Boolean flag that indicates whether invoice has been received and acknowledged by the Retailer. |
invoiced_at | The timestamp when the Invoice was received by RevCascade. |
acknowledged_at | The timestamp when the Invoice was acknowledged by the Retailer. This field is null if the Invoice has not been acknowledged. |
invoice_lines |
An array or Invoice Line Items. Each invoice line represents a unique item from the Purchase Order. { "invoice_line_number": 1, "variant": { "id": "100084", "brand": { "id": "501", "name": "Marla Cielo", }, "name": "Contemporary Nightstand", "description": "Black" "identifier": "1234", "upc": "123456789456", "attributes": [{ // subset of attributes }] }, "quantity": 2, "price": "21.00", } invoice_line_number - The ordinal line number on the invoice. variant - The exact item that was sold. quantity - The number of items being invoiced. price - The price that the supplier expects to be paid for the item. |
Examples
POST | /v1/brands/{brand_id}/invoices/ | Create a new Invoice |
---|
Input Parameters - All fields required unless otherwise marked. | |
purchase_order_number | A unique PO # from the Retailer's OMS. |
---|---|
invoice_number | The invoice number from the supplier's finance system. |
terms_net_days_due | The number of days until the invoice is expected to be paid (per the terms of the supplier / retailer agreement.) |
terms_date_due | The date that the invoice is due. Format: YYYY-MM-DD. |
due_amount | The total amount due for this invoice. |
invoice_lines |
An array of objects representing the items that are in the invoice. Please send one Invoice Line per unique item. "invoice_lines": [{ "variant": { "identifier": "GBD34315", } "quantity": 1, "net_price": "$250.00", }] variant - an object that identifies the exact item that sold.
quantity - The number of items included in the shipment. net_price - The price that the supplier expects to be paid for the item. Please note... Either an 'id', 'identifier', or a 'upc' is required in the variant object when creating an invoice line. However, if multiple are passed, 'id' will take priority over 'identifier' and 'upc'. |
Response On a successful POST, a full Invoice object will be returned. POST https://api.revcascade.com/v1/brands/500/invoices/ (POST body redacted for brevity) HTTP/1.1 201 CREATED |
GET | /v1/brands/invoices/ | Get a list of Invoices |
---|
Optional Query String Parameters | |
is_acknowledged |
Boolean filter that returns invoices based on whether or not they have been acknowleged by the retailer.
1 - show only only invoices that have been acknowledged. 0 - show invoices that have not been acknowledged. |
---|---|
invoiced_at_{operator} |
Filter invoices received by RevCascade before or after an epoch timestamp in UTC.
Please substitute {operator} with "lt" (less than),"lte" (less than or equal), "gt" (greater than), or "gte" (greater than or equal). |
limit | Customize the number of results return (max 250). Requests that return more records than the limit will be paginated. |
Get all new invoices that have been not yet been acknowledged. GET https://api.revcascade.com/v1/brands/500/invoices/?is_acknowledged=0 |
GET | /v1/brands/{brand_id}/invoices/{id}/ | Get a single Invoice |
---|
Get a single invoice by its ID. GET https://api.revcascade.com/v1/brands/500/invoices/123645/ |