Reports and reconciliation
Reconcile payouts with the files Waya delivers (CAMT.054, BGMax, SIE4, PDF, and CSV or Excel), or list and download reports with the Financial Report API.
Files after each payout
After each payout, Waya produces files that you use to reconcile it:
| File | Use | Public specification |
|---|---|---|
| CAMT.054.001.02 | Payments | ISO 20022, BankToCustomerDebitCreditNotificationV02 (opens in a new tab) in the message archive |
| BGMax | Payments, Swedish payments only | Bankgirot, Bankgiro Receivables technical manual (opens in a new tab) (in Swedish (opens in a new tab)) |
| SIE type 4 (SIE4) | Bookkeeping | SIE-Gruppen, SIE file format version 4C (opens in a new tab) |
| A summary of the payout, see below | None |
The PDF depends on whether your accounts receivable ledger is outsourced to Waya. If it is, the PDF is a reconciliation summary. If you keep the ledger yourself, it is a settlement note.
The same choice decides the alternative formats. If you keep the ledger yourself, the payments file is also available as CSV. With an outsourced ledger, both the payments and the bookkeeping files are also available as CSV and Excel.
Swagger does not describe these files. Ask your Waya contact which of them you receive.
Financial Report API
The Financial Report API lists the financial reports that are available to you and serves each one as a file. Two operations work on single reports, and two on bundles of reports.
The API describes a report by its type, name and mediaType. It does not say which type carries which of the files above, so look at the name and mediaType of your own reports, or ask your Waya contact.
Find financial reports
curl --request GET \
--url 'https://api.sandbox.waya.se/v4/rest/financial-report?type=SALES_NOTE,RECONCILIATION&since=2026-11-01T00:00:00Z' \
--header 'Authorization: Bearer <authorization-token>'
Swagger lists the report types that type takes.
As for updatedSince in Poll for updates, write a time zone offset in since, such as +01:00, with the plus sign encoded as %2B.
Download a report file
/financial-report/{id}/fileRetrieve financial report file in Swagger (opens in a new tab)Download a report with its id, or with the _fileLink from the list.
curl --request GET \
--url 'https://api.sandbox.waya.se/v4/rest/financial-report/<report-id>/file' \
--header 'Authorization: Bearer <authorization-token>' \
--output report-file
The answer is 200 with the file as the body. Use the name and mediaType from the list to save and open it. An id that does not exist answers 404 with an error body, not a file, so check the status before you save the response.
Report bundles
A bundle groups financial reports. One operation returns the bundle with its reports, and another returns the costs that belong to it.
/financial-report-bundle/{id}Get a financial report bundle in Swagger (opens in a new tab)curl --request GET \
--url 'https://api.sandbox.waya.se/v4/rest/financial-report-bundle/<bundle-id>' \
--header 'Authorization: Bearer <authorization-token>'
Bundle costs
/financial-report-bundle/{id}/costsGet bundle costs in Swagger (opens in a new tab)curl --request GET \
--url 'https://api.sandbox.waya.se/v4/rest/financial-report-bundle/<bundle-id>/costs' \
--header 'Authorization: Bearer <authorization-token>'
Get notified of new reports
A FINANCIAL_REPORT webhook tells you that a report was created or updated, and a FINANCIAL_REPORT_BUNDLE webhook does the same for a bundle. A webhook holds only identifiers, as Webhooks describes. Download the file of a report with its id, and fetch a bundle with Get a financial report bundle.
If you do not use webhooks, poll Find financial reports with since set to the time of your previous poll, and read every page. Note the time before your first request, and take a minute off the time you keep, as in Poll for updates. A report can then turn up in two polls, so remember the id of each report you have downloaded.