# Invoice Services

All services related to Invoices are listed in this page.

### `GET` Invoices List

This method is used to get a list of invoices.

**Path:** `/api/v1/oms/invoices/`

**Example Request**

To get a list of invoices, a GET request should be sent to `/api/v1/oms/invoices/` endpoint. No query parameters or request body are required.

```python
import requests

url = "https://{oms_base_url}/api/v1/oms/invoices/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

headers = {
'Accept': 'application/json',
'Authorization': 'Token {}'.format(api_token)
}

response = requests.request("GET", url, headers=headers)

print(response.json())
```

**Example Response (200 OK)**

In a successful response with a status code of `200 OK`, the API returns list of invoices.

| Parameter       | Data Type | Description                       |
| --------------- | --------- | --------------------------------- |
| id              | integer   | The primary key of the channel    |
| invoice\_type   | string    | The type of the invoice           |
| status          | string    | The status of the invoice         |
| channel         | object    | The channel info of the invoice   |
| address         | object    | The address info of the invoice   |
| order           | object    | The order info of the invoice     |
| package\_number | string    | The package number of the invoice |
| created\_date   | date      | The creation date of the invoice  |
| modified\_date  | date      | The modified date of the invoice  |
| number          | string    | The number of the invoice         |

This example response serves as a reference to understand the structure and data format of invoices list.

```json
{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 2,
            "invoice_type": "purchased",
            "status": "waiting",
            "channel": {
                "id": 2,
                "channel_type": "channel",
                "created_date": "2019-03-20T13:20:08.657659Z",
                "modified_date": "2019-03-20T13:20:08.657691Z",
                "omnitron_id": 3,
                "name": "name",
                "configuration": {},
                "is_active": false
            },
            "address": {
                "pk": 3,
                "email": "email",
                "phone_number": "05000000000",
                "first_name": "first_name",
                "last_name": "last_name",
                "country": 1,
                "city": 2,
                "line": "line",
                "title": "title",
                "township": 2,
                "district": null,
                "postcode": "",
                "notes": null,
                "company_name": null,
                "tax_office": null,
                "tax_no": null,
                "e_bill_taxpayer": false,
                "is_corporate": false
            },
            "invoiceitem_set": [
                {
                    "id": 2,
                    "created_date": "2019-03-20T13:20:08.747792Z",
                    "modified_date": "2019-03-20T13:20:08.747821Z",
                    "tax_rate": "8.00",
                    "tax_amount": "29.56",
                    "discount_rate": "0.00",
                    "discount_amount": "0.00",
                    "interest_rate": "0.00",
                    "interest_amount": null,
                    "total_amount": "399.00",
                    "net_amount": "399.00",
                    "order_item": 2
                }
            ],
            "order": {
                "id": 2,
                "state": {
                    "id": 25,
                    "next_states": [],
                    "previous_states": [],
                    "created_date": "2019-03-20T13:20:08.201990Z",
                    "modified_date": "2019-03-20T13:20:08.202020Z",
                    "name": "Waiting",
                    "config": {},
                    "enum_class": "OrderStatus",
                    "enum_value": "100",
                    "content_type": 17
                },
                "payment_type": null,
                "created_date": "2019-03-20T13:20:08.684840Z",
                "modified_date": "2019-03-20T13:20:08.684867Z",
                "omnitron_id": 32797,
                "number": "378321346010117487",
                "date_placed": "2018-11-07T14:45:29Z",
                "channel": 2,
                "customer": 2,
                "shipping_address": 4,
                "billing_address": 3
            },
            "package_number": "PCK_200_1",
            "created_date": "2019-03-20T13:20:08.741964Z",
            "modified_date": "2019-03-20T13:20:08.741992Z",
            "number": "9222609107"
        }
    ]
}
```

### `GET` Invoice Detail

This method is used to retrieve details of the invoice for given ID parameter.

**Path:** `/api/v1/oms/invoices/{id}/`

**Example Request**

To retrieve invoice detail, a GET request should be sent to `/api/v1/oms/invoices/{id}/` endpoint. No query parameters or request body are required.

```python
import requests

url = "https://{oms_base_url}/api/v1/oms/invoices/1/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

headers = {
'Accept': 'application/json',
'Authorization': 'Token {}'.format(api_token)
}

response = requests.request("GET", url, headers=headers)

print(response.json())
```

**Example Response (200 OK)**

In a successful response with a status code of `200 OK`, the API returns invoice detail information.

| Parameter       | Data Type | Description                       |
| --------------- | --------- | --------------------------------- |
| id              | integer   | The primary key of the channel    |
| invoice\_type   | string    | The type of the invoice           |
| status          | string    | The status of the invoice         |
| channel         | object    | The channel info of the invoice   |
| address         | object    | The address info of the invoice   |
| order           | object    | The order info of the invoice     |
| package\_number | string    | The package number of the invoice |
| created\_date   | date      | The creation date of the invoice  |
| modified\_date  | date      | The modified date of the invoice  |
| number          | string    | The number of the invoice         |

This example response serves as a reference to understand the structure and data format of invoices detail.

```json
{
            "id": 2,
            "invoice_type": "purchased",
            "status": "waiting",
            "channel": {
                "id": 2,
                "channel_type": "channel",
                "created_date": "2019-03-20T13:20:08.657659Z",
                "modified_date": "2019-03-20T13:20:08.657691Z",
                "omnitron_id": 3,
                "name": "name",
                "configuration": {},
                "is_active": false
            },
            "address": {
                "pk": 3,
                "email": "email",
                "phone_number": "05000000000",
                "first_name": "first_name",
                "last_name": "last_name",
                "country": 1,
                "city": 2,
                "line": "line",
                "title": "title",
                "township": 2,
                "district": null,
                "postcode": "",
                "notes": null,
                "company_name": null,
                "tax_office": null,
                "tax_no": null,
                "e_bill_taxpayer": false,
                "is_corporate": false
            },
            "invoiceitem_set": [
                {
                    "id": 2,
                    "created_date": "2019-03-20T13:20:08.747792Z",
                    "modified_date": "2019-03-20T13:20:08.747821Z",
                    "tax_rate": "8.00",
                    "tax_amount": "29.56",
                    "discount_rate": "0.00",
                    "discount_amount": "0.00",
                    "interest_rate": "0.00",
                    "interest_amount": null,
                    "total_amount": "399.00",
                    "net_amount": "399.00",
                    "order_item": 2
                }
            ],
            "order": {
                "id": 2,
                "state": {
                    "id": 25,
                    "next_states": [],
                    "previous_states": [],
                    "created_date": "2019-03-20T13:20:08.201990Z",
                    "modified_date": "2019-03-20T13:20:08.202020Z",
                    "name": "Waiting",
                    "config": {},
                    "enum_class": "OrderStatus",
                    "enum_value": "100",
                    "content_type": 17
                },
                "payment_type": null,
                "created_date": "2019-03-20T13:20:08.684840Z",
                "modified_date": "2019-03-20T13:20:08.684867Z",
                "omnitron_id": 32797,
                "number": "378321346010117487",
                "date_placed": "2018-11-07T14:45:29Z",
                "channel": 2,
                "customer": 2,
                "shipping_address": 4,
                "billing_address": 3
            },
            "package_number": "PCK_200_1",
            "created_date": "2019-03-20T13:20:08.741964Z",
            "modified_date": "2019-03-20T13:20:08.741992Z",
            "number": "9222609107"
        }
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://apidocs.akinon.com/oms/invoice-services.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
