Browse Documentation
POST Create offer

Create a new Offer

POST /offers

Parameters

  Parameter
  Type
 Description
 client_id | required
  String
 The client you are sending the invoice to 
 date_issued
  Date YYYY-MM-DD
 The date the invoice was issued
 date_due
  Date YYYY-MM-DD
 The expiration date of the offer
 invoice_id  StringInvoice ID of the invoice that originated from the offer
 template_id
  String
Invoice Template for the invoice The invoice template defines the layout of sales documents. In this case an offer. If the invoice template is not supplied the default invoice template will be used.
 reference
  String
 Any name that you wish to use as a reference
 Items
  Array[object]
 Items to be added to the invoice
 items[title] | required
  String
 Item title
 items[description]
  String
 Description of the item
 items[quantity] | required
  Int
 Item quantity
 items[price] | required
  Float|Int
 Item price (see how price and the include_tax indicator work together in teh example below)
 items[tax_id] | required
  String
 Item Tax ID
 items[include_tax]
  Bool
Indicates whether the price includes or excludes sales tax. When the indicator is not supplied it defaults to false.

A POST request is expected to be sent to the above endpoint where the content body must be JSON string containing all parameters that are needed to create a new invoice. The below example demonstrates how to create a new Offer.

Request

    
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer token" \
-XPOST \
-d '{
    "offer": {
        "client_id": "1615c6926a25a72b31ee320d0889e82f6395511c",
        "date_issued": "2017-04-24",
        "items": [
        {
            "title": "item 01",
            "quantity": 1,
            "price": 100,
            "tax_id": "fd62ee6c1d65e4729da41f85cdd328dfc816d161"
        },
        {
            "title": "item 02",
            "quantity": 1,
            "price": 100,
            "tax_id": "fd62ee6c1d65e4729da41f85cdd328dfc816d161",
            "tax_included": true
        }
        ]
    }
}' \
https://dev.accounteer.com/api/v0.1/offers/
    

Response

{
    "id": "ba775d2a3f9612ab288489f20ceab582f7f62fd5",
    "organization_id": "daa71f0644647c0d82dd2d03d0b29779644b1a48",
    "document_number": "OFF-2016012",
    "client_id": "1615c6926a25a72b31ee320d0889e82f6395511c",
    "template_id": "6510e39e71217f262c39b3525831f2a5405fc5e8",
    "total_amount": 221,
    "total_base_amount": 182.64,
    "total_tax_amount": 38.36,
    "currency": "EUR",
    "date_issued": "2017-04-24",
    "date_due": "2017-08-23",
    "date_created": "2017-07-24",
    "date_updated": "2017-07-24",
    "status": "approved",
    "reference": null,
    "items": [{
        "id": "2417f43fb9ec75daa3abad35f0ab9a42eebc1910",
        "title": "item 01",
        "description": null,
        "quantity": 1,
        "item_base_amount": 100,
        "tax_id": "fd62ee6c1d65e4729da41f85cdd328dfc816d161",
        "tax_name": "VAT 21%",
        "tax_percentage": 21,
        "line_base_amount": 100,
        "line_tax_amount": 21,
        "line_total_amount": 121,
        "tax_included": false,
        "price": 100
    }, {
        "id": "b92f3b4c8013d092acf7d8b56a8eef19bbea6613",
        "title": "item 02",
        "description": null,
        "quantity": 1,
        "item_base_amount": 82.644628099174,
        "tax_id": "fd62ee6c1d65e4729da41f85cdd328dfc816d161",
        "tax_name": "VAT 21%",
        "tax_percentage": 21,
        "line_base_amount": 82.64,
        "line_tax_amount": 17.36,
        "line_total_amount": 100,
        "tax_included": true,
        "price": 82.64
   }]
}

In this example request, the effect of the include_tax indicator is visible. 

For item 01 we didn't set the indicator which causes it to default to false. When the indicator is false it means the price supplied is the item price excluding sales tax. Sales tax will be added to the price. The item_base_amount will be equal to the price, being 100. 21 sales tax is added causing the total of one item to be 121.

For item 02 we set the include_tax indicator to true. This means the price already includes sales tax. Here the base amount is equal to 100 / 1.21 = 82.64. Sales tax on the base amount is 82.64 * 21% = 17.36 resulting in a total price for one item of 100.