Skip to main content

Overview

Complete both scenarios in the test environment before moving to production: report payees and payments for a quarter, then correct one of them. See Testing for the test environment and the practices shared by every report.

Test Scenarios

Create a submission for a quarter and country, push your payees, attach their payments, then submit.
Objective: Create a new submission for a reporting period and country.Request: POST /reports/cesop/v1/submissionsRequest Body:
webhookUrl is optional. Include it and the connector calls it with the final verdict once the submission finishes processing:
Whitelist the sending IP addresses first. They are listed under Webhook. Test whichever route you plan to use in production.
Expected Response: HTTP 201 Created
Store the submissionId. It scopes every call in Test Cases 2 to 5.
Objective: Add the payees you report for the quarter. Call this as many times as you need.Request: POST /reports/cesop/v1/submissions/{submissionId}/payeesRequest Body:
clientPayeeId is your own key. It must be unique within the submission, and it is how you attach payments and update or delete the payee later. Send the optional Idempotency-Key header so a retry returns the original response instead of pushing the batch twice.
Expected Response: HTTP 201 Created
Objective: Attach payments to a payee you pushed.Request: POST /reports/cesop/v1/submissions/{submissionId}/paymentsRequest Body:
Expected Response: HTTP 201 Created
The second entry is a refund: "refund": true with refundedTransactionId naming the transaction it reverses.
Objective: Hand the submission off to be reported to the regulatory authority.Request: POST /reports/cesop/v1/submissions/{submissionId}:submitNo request body.Expected Response: HTTP 200 OK
After this call the submission is no longer editable. Push all payees and payments first.
Objective: Follow the submission until the regulatory authority accepts it.
Use these calls instead of the webhook, or alongside it whenever you want to check a submission by hand.
Request: GET /reports/cesop/v1/submissions/{submissionId}/statusExpected Response: HTTP 200 OK
Poll until status becomes REPORTEDTo check whether any payees failed CESOP validation, call GET /reports/cesop/v1/submissions/{submissionId}/payees/errors.
Last modified on September 1, 2026