Funding Transfers - Export

A guide to generating and managing Funding Transfers exports for financial reconciliation and analysis.

Introduction — Funding Transfers Export

The Funding Transfers Export feature allows users to generate a CSV file containing funding transfer data for reconciliation, financial reporting, and analysis purposes.

Funding transfers represent internal movements of funds between balance accounts (e.g. from a MARKETPLACE balance account to a SUPPLIER balance account, or vice versa). These transfers are a core part of the DJUST PAY marketplace payout model.

Exports are asynchronous: the user triggers the export, and once the file is generated, an email with a download link is sent automatically.


Scope and Visibility

Operator

An Operator can export funding transfers across the entire tenant:

  • All suppliers within scope
  • Filter by specific suppliers if needed
  • Filter by source and target balance account types

Supplier

A Supplier can export only funding transfers that involve their own balance account:

  • The supplierIds filter is silently ignored — the scope is automatically restricted server-side
  • Only transfers where the supplier's balance account is either source or target are included

Launching a Funding Transfers Export

Where to launch

  • Connect to the Back Office (Operator or Supplier).
  • Open the DJUST Pay section.
  • Go to Funding Transfers.
  • Apply filters if needed.
  • Click on Export CSV.
  • Optionally add CC recipients in the modal.

Available Filters

FilterDescription
Date rangeFilter by creation date (createdAt)
StatusFilter by transfer status
SuppliersFilter by one or more suppliers (Operator only)
Amount min / maxFilter by transfer amount range
Source balance account typeMARKETPLACE or SUPPLIER
Target balance account typeMARKETPLACE or SUPPLIER

If no filters are applied, the export includes all funding transfers visible to the current user.


Export Format

The export file is:

  • CSV only
  • UTF-8 encoding
  • ; separator
  • Line break: \n
  • First row = column headers
  • Dates formatted in ISO 8601 (YYYY-MM-DDTHH:mm:ssZ)

Email Delivery

Once the file is generated:

An email containing the download link is automatically sent to the connected user (the user who initiated the export).

When launching the export, the user may optionally provide one or multiple CC email addresses.

  • The CC field accepts valid email addresses.
  • Multiple emails must be comma-separated.
  • All recipients will receive the same download link.

If no CC is provided, only the connected user receives the email.


Export Columns

Each row in the CSV corresponds to one funding transfer.

ColumnDescriptionNotes
transferIdUnique identifier of the funding transfer
createdAtCreation timestampISO 8601 format
statusCurrent status of the transferSee Export Lifecycle
amountTransfer amount
currencyCurrency codee.g. EUR
sourceBalanceAccountTypeType of the source balance accountMARKETPLACE or SUPPLIER
targetBalanceAccountTypeType of the target balance accountMARKETPLACE or SUPPLIER
supplierExternalIdExternal identifier of the supplier
supplierNameName of the supplier
referenceReference of the transferBusiness identifier
relatedEntityTypeType of the related entityPAYOUT, REFUND
relatedEntityIdIdentifier of the related entity
failureReasonReason for failureOnly set when status = FAILED

Export Lifecycle

The export creation request does not immediately return the file.

Possible statuses:

StatusDescription
PENDINGExport request created and processing
READYFile generated and email sent
FAILEDGeneration or email sending failed
EXPIREDDownload link expired
flowchart LR
  %% Styles (Readme)
  classDef create   fill:#e8f1ff,stroke:#2f6feb,stroke-width:2px,color:#0b3d91;
  classDef read     fill:#ede9fe,stroke:#7c3aed,stroke-width:2px,color:#1e1b4b;
  classDef update   fill:#e0f7fa,stroke:#06b6d4,stroke-width:2px,color:#0c4a6e;
  classDef add      fill:#ecfdf5,stroke:#10b981,stroke-width:2px,color:#064e3b;
  classDef remove   fill:#fee2e2,stroke:#ef4444,stroke-width:2px,color:#7f1d1d;
  classDef decision fill:#fff4e5,stroke:#f59e0b,stroke-width:2px,color:#7a3e00;
  classDef place    fill:#dcfce7,stroke:#16a34a,stroke-width:2px,color:#14532d;
  classDef sys      fill:#f2f4f7,stroke:#475569,stroke-width:2px,color:#111827;
  classDef ok       fill:#ecfdf5,stroke:#10b981,stroke-width:2px,color:#064e3b;
  classDef stop     fill:#fee2e2,stroke:#ef4444,stroke-width:2px,color:#7f1d1d;

  A["📘 Launch export"]:::create
  B["⏳ PENDING"]:::update
  C{{"📩 Generation result"}}:::decision
  D["✅ READY<br>Email sent"]:::place
  E["❌ FAILED"]:::stop
  F["⏰ EXPIRED<br>Link no longer valid"]:::sys

  A --> B --> C
  C -->|Success| D
  C -->|Error| E
  D -->|After expiration| F

  style A rx:8,ry:8
  style B rx:8,ry:8
  style D rx:8,ry:8
  style E rx:8,ry:8
  style F rx:8,ry:8

Key Endpoints

The funding transfers export relies on three asynchronous API endpoints:

ActionMethodPathOperationIdResponse
Trigger exportPOST/v1/payments/funding-transfers/exportADM-PAY-105201 Created
List exportsGET/v1/payments/funding-transfers/exportADM-PAY-552200 OK
Get export detailGET/v1/payments/funding-transfers/export/{exportId}ADM-PAY-504200 OK

All three endpoints require dj-client (OPERATOR or SUPPLIER) and dj-api-key headers.


Typical API Workflow

sequenceDiagram
    participant Client
    participant DJUST PAY

    Client->>DJUST PAY: POST /v1/payments/funding-transfers/export (ADM-PAY-105)
    DJUST PAY-->>Client: 201 Created (exportId)
    Note over DJUST PAY: Asynchronous generation...
    Client->>DJUST PAY: GET /v1/payments/funding-transfers/export (ADM-PAY-552)
    DJUST PAY-->>Client: 200 OK (list of exports with statuses)
    Client->>DJUST PAY: GET /v1/payments/funding-transfers/export/{exportId} (ADM-PAY-504)
    DJUST PAY-->>Client: 200 OK (export detail with download link)

Step 1 — Trigger the export

POST /v1/payments/funding-transfers/export
dj-client: OPERATOR
dj-api-key: {{apiKey}}
Content-Type: application/json
{
  "filters": {
    "createdAtFrom": "2026-01-01T00:00:00Z",
    "createdAtTo": "2026-03-31T23:59:59Z",
    "statuses": ["COMPLETED"],
    "supplierIds": ["supplier-123", "supplier-456"],
    "amountMin": 100,
    "amountMax": 50000,
    "sourceBalanceAccountType": "MARKETPLACE",
    "targetBalanceAccountType": "SUPPLIER"
  },
  "cc": ["[email protected]", "[email protected]"]
}

Step 2 — Check export status

GET /v1/payments/funding-transfers/export
dj-client: OPERATOR
dj-api-key: {{apiKey}}

The response returns a paginated list of exports created by the current user, with their current status.

Step 3 — Download the file

GET /v1/payments/funding-transfers/export/{exportId}
dj-client: OPERATOR
dj-api-key: {{apiKey}}

When the export status is READY, the response includes a download URL for the CSV file.


Export List View

The Export List view allows users to monitor and manage their export requests.

To access the list:

  • Connect to the Back Office.
  • Open DJUST Pay.
  • Navigate to Funding Transfers.
  • Open the Exports tab.
  • This view lists all exports launched by the current user.

Visibility Rules

Operator

  • Can view only exports they personally launched.
  • Cannot see exports created by other users.

Supplier

  • Can view only their own export requests.
  • Scope is automatically restricted to their own funding transfers.

Best Practices

  1. Use date filters — always specify a date range to avoid exporting the entire history and to speed up file generation.
  2. Leverage CC recipients — add finance team members as CC so they receive the download link directly.
  3. Poll the export status — after triggering an export, use the list or detail endpoint to check when the file is ready before sharing the link.
  4. Combine filters for targeted exports — use sourceBalanceAccountType and targetBalanceAccountType filters to isolate specific transfer flows (e.g. marketplace-to-supplier only).

Common Mistakes

MistakeConsequenceHow to avoid
Launching a new export while one is PENDINGRequest may be rejectedWait for the current export to reach a terminal state (READY, FAILED, EXPIRED)
Supplier using supplierIds filterFilter is silently ignoredSupplier scope is automatic — no need to specify supplier IDs
Trying to download before status is READYNo download link availablePoll the export detail endpoint until status transitions to READY
Not setting date filters on large datasetsSlow generation or timeoutAlways scope your export to a specific time period

Error Reference

For the complete list of DJUST error and warning codes, refer to the dedicated page: Error / Warning codes


Related Documentation