Request a Calculation

To request a calculation, send an HTTP POST to https://api.fonoa.com/tax/v2/calculations with a body containing information about the parties involved and the transaction being performed:

(Full details of the request and response can be found here)

{
    "supplier": {
        "taxable": true,
        "country": "gb"
    },
    "customer": {
        "taxable": false,
        "country": "nl"
    },
    "transaction": {
        "price_includes_tax": false,
        "date": "2026-01-14T20:48:59.000Z",
        "items": [
            {
                "id": "34db79d1-24bf-4c22-863e-1f7832f24be3",
                "unit_price": 100,
                "tax_category_code": "fs_0503010000",
                "quantity": 1.0
            }
        ]
    }
}

If there are no validation errors, the API will respond with an HTTP 200 OK and a response body containing the applicable taxes:

{
    "data": {
        "id": "1010b4d8-9361-4a7e-98cc-9419dbba695c",
        "result": {
            "total_gross": 121,
            "total_net": 100,
            "total_indirect_tax_amount": 21,
            "items": [
                {
                    "id": "34db79d1-24bf-4c22-863e-1f7832f24be3",
                    "gross_amount": 121,
                    "net_amount": 100,
                    "indirect_tax_amount": 21,
                    "effective_indirect_tax_rate": 0.21,
                    "tax_breakdown": [
                        {
                            "country": "nl",
                            "country_name": "Netherlands",
                            "rate_class": "s",
                            "tax_level": "federal",
                            "name": "BTW",
                            "rate": 0.21,
                            "amount": 21
                        }
                    ]
                }
            ]
        }
    }
}

Validation

When the request is incorrect, you will receive an HTTP Status Code of 400 Bad Request and a response containing information about the error:

{
    "errors": [
        {
            "message": "Validation error: any.required",
            "field": "supplier.country",
            "type": "validation"
        }
    ]
}