Complete invoice

The Complete invoice method is used for approving the payment linked to an approved postpaid invoice (see Approve invoice) with a third-party invoice issued to an account of the reseller by a third-party ERP system (see Managing Invoices for the Postpay model by a third-party ERP system).

For accounts with several invoices within the same billing period, use another API method and specify the ID of the required invoice — see Complete invoice by ID.

Optionally, a manager can approve an invoice for the Postpay model and the payment manually in the Operator Control Panel:

The platform matches a third-party invoice and invoice for the Postpay model using the start date of the billing period. 

An API token of a manager is required for authorization. To get an API token via the Operator Control Panel, see Viewing and updating Manager's information

The manager's API token specified in an API request determines:

  • The role and access level of the manager, which determine the availability of a method.
  • The current reseller and downstream resellers accessible within a method.

POST {base_url}/api/v3/resellers/{reseller_id}/accounts/{account_id}/complete_invoices

Arguments

Name

Parameter Type

Data type

Required/Optional

Description

X-Api-TokenheaderstringRequiredAPI token of a manager that performs the operation (see Viewing and updating Manager's information)
Content-TypeheaderstringRequiredMedia type of the request. Specify the following: application/vnd.api+json
AcceptheaderstringRequired

Supported media types of the answer. Specify the following: application/vnd.api+json

base_urlpathstringRequiredActivePlatform URL
reseller_idpathnumberRequiredID of the current reseller or any of its downstream resellers (see Viewing and updating Reseller general information)
account_idpathnumberRequiredAccount ID
document_idformstringRequiredThird-party invoice name
billing_dateformstringRequiredBilling day (YYYY-MM-DD) — the start date of a billing period linked to the invoice

Response model

The response model is similar to Get invoice.

Errors

StatusError codeError textComment
400INVOICE-0001Required parameters are not providedSpecify all required parameters in the request
INVOICE-0017Payment related to this invoice has been cancelled. Invoice completion is not possibleA manager manually cancelled a linked payment (see Processing a Payment linked to an invoice issued by a third-party ERP system). The invoice cannot be approved or completed
404INVOICE-0002Invoice for billing date {billing_date} was not found for account id {account_id}
  • The account does not have an invoice for the specified billing day billing_date.
  • An invoice for the specified billing day billing_date has the total amount equal to 0. A payment for the invoice cannot be approved because the invoice does not have information about the linked subscriptions.
422INVOICE-0004Unable to complete invoice one more timeThe invoice is already completed

Request example

POST /api/v3/resellers/1/accounts/505/complete_invoices
Host: test.activeplatform.com
Content-Type: application/vnd.api+json
X-Api-Token: vY5fwetestK3gJXZH5uHCw
Accept: application/vnd.api+json
{
    "document_id": "NS2000015",
    "billing_date": "2020-04-01"
}

Response example

{
    "data": {
        "id": "2046",
        "type": "invoices",
        "attributes": {
            "created_at": "2019-04-18T09:02:01.257560+0300",
            "updated_at": "2019-05-02T06:12:41.990713+0300",
            "document_id": "NS2000015",
            "status": "closed",
            "total": "987.65",
            "account_id": 505,
            "from_date": "2019-04-17",
            "to_date": "2019-05-01",
            "payment_model": "postpay",
            "approved": "true"
        },
        "relationships": {
            "subscriptions": {
                "data": [
                    {
                        "id": "3009839",
                        "type": "subscriptions"
                    }
                ]
            },
            "payments": {
                "data": [
                    {
                        "id": "12201",
                        "type": "payments"
                    }
                ]
            },
            "charges": {
                "data": [
                    {
                        "id": "323740",
                        "type": "charges"
                    }
                ]
            },
            "corrections": {
                "data": []
            }
        }
    }
}