> ## Documentation Index
> Fetch the complete documentation index at: https://docs.finventi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a submission

> Open a reporting batch for a period and country.

<Note>
  The returned `submissionId` scopes every subsequent payee, payment, and submit call. Opening a submission for a period and country that has already been reported starts a correction round.
</Note>


## OpenAPI

````yaml post /reports/cesop/v1/submissions
openapi: 3.1.0
info:
  title: CESOP REST API
  description: >
    <p>REST API for reporting CESOP(The Central Electronic System of Payment
    information). Create a submission, send payees

    and payments under its id, then submit it to the regulatory authority.</p>


    <p><strong>Filtering is the reporting company's responsibility.</strong>
    This API reports the data you send as-is, and it does not decide which
    payments are reportable. Apply the CESOP filtering rules before sending.</p>


    <p><strong>European Commission's official reporting guideline:</strong>

    <a href="docs/cesop-guidelines-v1.2.pdf">CESOP Guidelines for the reporting
    of payment data v1.2 (PDF)</a></p>


    <p><strong>CESOP filtering rules, PSP's implementation guide:</strong>

    <a href="docs/cesop-filtering-rules.html">open the guide</a>. This is a
    quick reference only, it may not cover every case. For accurate handling of
    specific cases, refer to the regulation and official CESOP
    documentation.</p>


    <p><strong>Regulation:</strong>

    <a href="https://eur-lex.europa.eu/eli/dir/2020/284/oj">Council Directive
    (EU) 2020/284</a>

    &middot;

    <a
    href="https://taxation-customs.ec.europa.eu/taxation-1/central-electronic-system-payment-information-cesop_en">CESOP
    — European Commission</a></p>
  version: 0.0.1
servers:
  - url: https://api.rrc.dev.finventi.com
    description: Development
  - url: https://api.rrc.finventi.com
    description: Production
security:
  - bearer-jwt: []
tags:
  - name: CESOP Filtering Support
    description: >-
      Helper endpoints supporting CESOP filtering decisions. This is not part of
      the submission flow.Use them to prepare your data before sending it via
      the CESOP Submission API.
  - name: CESOP REST API
    description: >-
      REST API for submitting and correcting CESOP payee and payment data.
      Create a submission, push payees and payments under its id, then submit it
      to the regulatory authority.
paths:
  /reports/cesop/v1/submissions:
    post:
      tags:
        - CESOP REST API
      summary: Create a submission
      description: >-
        Opens a reporting batch for the given period and country and returns its
        id used to scope subsequent payee and payment pushes.


        **Webhook:** optionally pass a `webhookUrl`. Once the submission
        finishes processing, it is called with a POST carrying a JSON body:


        ```

        {"submissionId": "<submission id>", "status": "ACCEPTED" | "REJECTED"}

        ```


        Calls originate from the following IP addresses; whitelist them to
        receive the webhook.


        ```

        Test:       34.78.184.35, 35.195.129.148, 34.76.178.43, 88.119.208.29

        Production: 130.211.66.226, 35.205.15.220, 104.155.69.28, 88.119.208.29

        ```
      operationId: createSubmission
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmissionRequest'
        required: true
      responses:
        '201':
          description: Submission created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmissionResponse'
components:
  schemas:
    SubmissionRequest:
      type: object
      description: Create a CESOP submission for a reporting period and country
      properties:
        year:
          type: integer
          format: int32
          description: Reporting year (CESOP reporting started in 2024)
          example: 2024
          maximum: 2100
          minimum: 2024
        quarter:
          type: integer
          format: int32
          description: Reporting quarter 1-4
          example: 1
          maximum: 4
          minimum: 1
        countryCode:
          type: string
          description: >-
            Reportable country: an EU Member State, given as an [ISO 3166-1
            alpha-2](https://www.iso.org/obp/ui/#search) code
          example: DE
          minLength: 1
        webhookUrl:
          type: string
          description: >-
            Optional webhook URL. When the submission finishes processing it is
            called with a POST carrying the final status: ACCEPTED or REJECTED
            (the CESOP validation result for the submission).
          example: https://example.com/cesop/webhook
          maxLength: 1024
          minLength: 0
      required:
        - countryCode
        - quarter
        - year
    SubmissionResponse:
      type: object
      description: Handle of a created submission
      properties:
        submissionId:
          type: string
          description: Submission id, scopes all subsequent calls
      required:
        - submissionId
  securitySchemes:
    bearer-jwt:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: >-
            https://auth.sandbox.finventi.com/realms/sti-connector/protocol/openid-connect/token
          scopes: {}

````