VAT Returns
VAT returns (MVA-melding) allow you to generate VAT reports and submit VAT returns to the Norwegian tax authorities. The API supports generating reports in JSON and PDF format, listing past submissions, and creating new submissions.
Endpoints
Get VAT Report
GET /api/v2/vat-return/report
Generates a VAT report for a given period showing tax code breakdowns with debit/credit amounts.
Query Parameters
| Parameter |
Type |
Required |
Description |
| client_account_id |
integer |
Yes |
ID of the client account |
| from_date |
date |
Yes |
Start date in YYYY-MM-DD format |
| to_date |
date |
Yes |
End date in YYYY-MM-DD format |
Content Negotiation
| Accept Header |
Response |
application/json |
JSON report data |
application/pdf |
PDF file download |
JSON Response
{
"data": [
{
"tax_code": {
"code": "3",
"description": "Purchases 25% VAT",
"tax_rate": 25,
"category": "input"
},
"base_debit_amount": 40000.00,
"base_credit_amount": 0.00,
"tax_debit_amount": 10000.00,
"tax_credit_amount": 0.00,
"posted_tax_debit_amount": 10000.00,
"posted_tax_credit_amount": 0.00,
"reconciliation_debit_amount": 0.00,
"reconciliation_credit_amount": 0.00,
"reportable_tax_amount": -10000.00,
"reportable_acquisition_tax_amount": 0.00,
"discrepancy_note": null
}
]
}
List Submissions
GET /api/v2/vat-return/submissions
Retrieves a paginated list of VAT return submissions.
Query Parameters
| Parameter |
Type |
Required |
Description |
| client_account_id |
integer |
Yes |
ID of the client account |
| from_date |
date |
No |
Filter submissions from this date |
| to_date |
date |
No |
Filter submissions to this date |
| order_by |
string |
No |
Sort field |
| page |
integer |
No |
Page number (default: 1) |
| page_size |
integer |
No |
Items per page (default: 100) |
Response
{
"data": [
{
"id": 1,
"created_at": "2024-03-15T10:00:00Z",
"created_by_id": 7,
"client_account_id": 7,
"from_date": "2024-01-01",
"to_date": "2024-02-28",
"settlement_voucher_id": 123,
"settlement_journal_entry_id": 456,
"payment_voucher_id": 789,
"payment_document_id": 101,
"return_content": "...",
"message_content": "...",
"status": "SUBMITTED"
}
],
"meta": {
"page": 1,
"pages": 1,
"per_page": 100,
"records": 1
}
}
Submit VAT Return
POST /api/v2/vat-return/submissions
Submits a VAT return for a specified period.
Query Parameters
| Parameter |
Type |
Required |
Description |
| client_account_id |
integer |
Yes |
ID of the client account |
| from_date |
date |
Yes |
Start date of the VAT period |
| to_date |
date |
Yes |
End date of the VAT period |
| ignore_warnings |
boolean |
No |
Ignore validation warnings (default: true) |
Response
Returns the created VAT return submission with status 201 Created.
Attributes
| Attribute |
Type |
Description |
| id |
integer |
Unique identifier (read-only) |
| created_at |
datetime |
Creation timestamp (read-only) |
| created_by_id |
integer |
ID of the user who created the submission (read-only) |
| client_account_id |
integer |
ID of the client account |
| from_date |
date |
Start date of the VAT period |
| to_date |
date |
End date of the VAT period |
| settlement_voucher_id |
integer |
ID of the settlement voucher |
| settlement_journal_entry_id |
integer |
ID of the settlement journal entry |
| payment_voucher_id |
integer |
ID of the payment voucher |
| payment_document_id |
integer |
ID of the payment document |
| return_content |
string |
XML content of the submitted return |
| message_content |
string |
Response message from tax authority |
| status |
string |
Submission status |
Relationships
| Relationship |
Type |
Description |
| created_by |
User |
The user who created the submission |
Error Responses
| Status Code |
Description |
| 400 |
Invalid request (missing required parameters) |
| 403 |
Forbidden (no access to client account) |