πŸ‡ΊπŸ‡Έ English
  • πŸ‡ΊπŸ‡Έ English
  • πŸ‡ͺπŸ‡Έ EspaΓ±ol
  1. Cross Features
πŸ‡ΊπŸ‡Έ English
  • πŸ‡ΊπŸ‡Έ English
  • πŸ‡ͺπŸ‡Έ EspaΓ±ol
  • Cobre Intro
    • Welcome
    • Get started
    • Products
      • Local Payments
        • Local Payments with Cobre
        • Payouts
          • Colombia
            • Money Movements with Bre-B
            • Money Movements with Cobre Fast Pay
          • Mexico
            • Money Movements with CLABEs and SPEI Cards
          • Multi-region
            • Money Movements Scheduler
        • Payins
          • Colombia
            • Checkout
            • Request to Pay (R2P)
            • Direct Debit with Nequi
            • Static Bre-B Keys
          • MΓ©xico
            • CLABE-backed Virtual Balances Accounts (Cobre Balances)
            • Account Reference – Virtual CLABEs
        • Other feaures
          • Bulk Money Movements
          • Enabling Approval Workflows (Maker–Checker)
      • Cross Border Payments
        • Cross Border Payments with Cobre
      • Stablecoins
        • Global Payouts in Stablecoins
      • Connect
        • Connect bank accounts with Cobre
    • Other features
      • Account Verification
      • Notifications and subcriptions
      • Security at Cobre
      • Performance and throughput
  • Portal
    • Introduction & Quick Start
    • Authentication in Portal
    • Troubleshooting & Support
    • Movements
      • Approval Process (Maker-Checker)
      • Local Money Movement
      • Unitary Payment Initiation
      • Bulk Money Movement Initiation
      • Cross-Border Money Movements
      • Payment Links
      • Scheduler
    • Transactions
      • Transactions
    • Accounts
      • Account and Balance Management
      • Virtual CLABEs
    • Counterparties
      • Counterparties
    • Reports
      • Reports & Reconciliation
    • Settings
      • Users and Roles Management
      • Security and Control
    • Developers
      • Subscription management
  • Developers
    • API Guides
      • Quick Start
      • Authentication
      • Cobre Balances
        • Managing Virtual Balance Accounts (Cobre Balances)
        • Account Linkeage
      • Connect Accounts
        • Managing Connect Accounts
      • Counterparties
        • Managing Counterparties
      • Local Payments
        • Money Movement
        • Payouts
          • Colombia
            • Fast Pay & ACH
            • Bre-B
          • Mexico
            • SPEI
          • Cross-Region
            • Bulk Money Movements
            • Bulk Money Movements Approval
            • Money Movement Scheduler
        • Payins
          • Colombia
            • Cobre Keys with Bre-B
            • Checkout
            • Direct Link
            • Direct Debit
          • Mexico
            • Account Reference – Virtual CLABEs
      • Cross Border Payments
        • Cross Border Payments
        • Create Fx Quotes
        • Create a Cross Boder Money Movement
        • Fund your global Cobre Balance
      • Cross Features
        • Account Verification
        • Reconciliation with Cobre Reports in Colombia
        • Reports
        • Report Scheduler
        • Evidence API
        • Notifications & Subscriptions
      • Error Handling
        • Error Dictionary
      • Testing
        • General Testing
        • Testing Cases
        • Testing PSE and Bancolombia
    • API Explorer
      • Authentication API
        • Authentication
      • Cobre Balances
        • Create a Cobre Balance
        • Obtain all Accounts
        • Obtain one Account
        • Update an Account
        • Close a Cobre Balance
        • Obtain one Account Transactions
        • Obtain one Transaction
        • Obtain all Client Transactions
        • Obtain Account Daily Balance History
        • Assign or Change Primary Account
        • Unlinking Primary Account
      • Connect Accounts
        • Connect an Account
        • Obtain one Connected Account
        • Obtain all Connected Accounts
        • Obtain one Transaction
        • Obtain all Account Transactions
        • Obtain all Client Transactions
        • Update an account
      • Account Verifications
        • Obtain one Account Verification
        • Create an Account Verification
        • Obtain all Account Verifications
      • Account References
        • Create an Account Reference
        • List one Account Reference
        • List all Account References
        • Delete an Account References
      • Cobre Keys
        • Create a Key
        • Obtain all Keys
        • Obtain one Key
        • Cancel a Key
        • Block or Reactivate Keys
      • Counterparties
        • Account Debit Registration
          • Register a Counterparty for Direct Debit
          • Obtain all Registrations
          • Obtain one Registration
        • Create a Counterparty
        • Obtain one Counterparty
        • Obtain all Counterparties
        • Delete a Counterparty
      • Money Movements
        • Create a Money Movement
        • Obtain one Money Movement
        • Obtain all Money Movements
        • Return a Money Movement
      • Money movement Approvals
        • Approve a Money Movement
        • List all Money Movement Approvals
      • Money Movement Scheduler
        • Create a Money Movement Scheduler
        • List all Money Movement Schedulers
        • Cancel an Active Scheduler
      • Bulk Money Movement
        • Create a Bulk Money Movement
        • List all Bulk Money Movements
        • List one Bulk Money Movement
      • Bulk Money Movement Approvals
        • Bulk Money Movements Decision
      • Cross Border
        • Create a FX Quote
        • Obtain one FX Quote
        • Obtain all the FX Quotes
        • Create a Cross Border Money Movement
        • Obtain one Cross Border Money Movement
        • Obtain all the Cross Border Money Movements
      • Checkout
        • Create a Checkout
        • Obtain one Checkout
        • Obtain all Checkouts
        • Desactivate a Checkout
      • Evidence API
        • Evidence Requests
          • Obtain Evidence Request
          • Search Evidence Requests
        • Evidence Documents
          • Generate Upload Links
          • Generate Download Link
        • Evidence Information
          • Submit Evidence Information
      • Reports
        • Create a Report
        • Obtain all Reports
        • Generate Download Link for Selected Reports
        • Create a Cobre Balance Statement
      • Report Scheduler
        • Create a Report Scheduler
        • Obtain all Reports Schedulers
        • Delete a Report Scheduler
      • Notifications & Subscriptions
        • Subscribe to Events
        • Obtain all Subcriptions
        • Delete a Subscription
        • List all Available Events
    • Platform Catalogs
      • Mexican Bank Codes
      • Colombian Bank Codes
      • Transaction Types
      • Account Providers
    • Testing APIs
      • Create a Transaction Adjustment
      • Change a Money Movement Status
      • Transaction Adjustment (QA)
      • Change Money Movement Status (QA)
    • Reports Layout
      • Money Movements Layout
        • All Money Movements (CSV)
        • All Money Movements (JSON)
        • SPEI Money Movements (CSV)
        • LEGACY Money Movements (CSV)
      • Transactions Layout
        • All Transactions (CSV)
        • All Transactions (JSON)
        • Virtual Balance Account (Cobre Balance) Statement (PDF)
      • Counterparties Layout
        • All Counterparties (CSV)
      • Multicash Layout
        • Multicash Header (TXT)
        • Multicash Detail (TXT)
    • Notifications Layout
      • Account Events
        • Account Balance Credit
        • Account Balance Debit
      • Cobre Keys
        • Cobre Keys
      • Counterparties
      • Money Movement
        • Money Movement
      • Bulk Money Movement
        • Bulk Money Movement
      • Cross Border Money Movement
        • Cross Border Money Movement
      • Evidence Requests
        • Evidence Requests
      • Reports
        • Reports
  • Schemas
    • Counterparties
      • RequestBodies
        • Counterparty-request
      • Colombia
        • PayOut
          • Counterparty | Create Metadata Type CC (CO)
          • Counterparty | Response Metadata Type CC (CO)
          • Counterparty | Create Metadata Type CH (CO)
          • Counterparty | Response Metadata Type CH (CO)
          • Counterparty | Create Metadata Type DP (CO)
          • Counterparty | Response Metadata Type DP (CO)
          • Counterparty | Create Metadata Type Breb Key (CO)
          • Counterparty | Response Metadata Type Breb Key (CO)
          • Counterparty | Create Metadata Type Cobre Balance (CO)
          • Counterparty | Response Metadata Type Cobre Balance (CO)
        • PayIn
          • Counterparty | Create Metadata Type r2p (CO)
          • Counterparty | Response Metadata Type r2p (CO)
          • Counterparty | Create Metadata Type r2p Breb (CO)
          • Counterparty | Response Metadata Type r2p Breb (CO)
        • Secondary Counterparty
          • Secondary Counterparty Create Request (CO)
          • Secondary Counterparty Create Response (CO)
          • Secondary Counterparty Create Metadata Type NP (CO)
          • Secondary Counterparty Response Metadata Type NP (CO)
          • Secondary Counterparty Request Metadata Type LE
          • Secondary Counterparty Response Metadata Type LE (CO)
        • Direct Debit
          • Direct Debit Registration | Create
          • Direct Debit Registration | Response
          • Direct Debit Registration | List All Items
        • Counterparty | Create Request (CO)
        • Counterparty | Create Response (CO)
      • Mexico
        • PayOut
          • Counterparty | Create Metadata Type Clabe (MX)
          • Counterparty | Response Metadata Type Clabe (MX)
          • Counterparty | Create Metadata Type SPEI Card (MX)
          • Counterparty | Response Metadata Type SPEI Card (MX)
        • Counterparty | Create Request (MX)
        • Counterparty | Create Response (MX)
      • Global
      • USA
        • Counterparty | Create Request (USA)
        • Counterparty | Create Response (USA)
        • Request Medatata Business
        • Response Medatata Business
        • Request Medatata Individual
        • Response Medatata Individual
      • Counterparty | List All Items
      • MEX Money Movement Return
    • Transactions
      • Global
        • Transaction | Debit Cross Border
        • Transaction | Credit Cross Border
      • Colombia
        • Debit
          • Transaction | Debit FI (CO) (col_debit)
          • Transaction | Debit Cobre Balance (CO)
          • Transaction | Debit Breb (CO) (breb_debit)
        • Credit
          • Transaction | Credit Direct Debit (CO) (dd_credit)
          • Transaction | Rejected Breb (breb_rejected)
          • Transaction | Credit Top Up (CO) (col_top_up_credit)
          • Transaction | Credit FI (CO) (col_credit)
          • Transaction | Credit Cobre Balance (CO) (col_cb_credit)
          • Transaction | Credit Breb (CO) (breb_credit)
          • Transaction | Credit r2p (r2p_credit)
          • Transaction | Credit r2p Breb (CO) (r2p_breb_credit)
        • Transaction | Connect Obtain (CO)
        • Transaction | Cobre Balance Obtain (CO)
      • Mexico
        • Debit
          • Transaction | Debit FI (MX) (mex_debit)
          • Transaction | Debit SPEI (MX) (spei_debit)
          • Transaction | Debit Internal SPEI (MX)
        • Credit
          • Transaction | Credit FI (MX)
          • Transaction | Credit SPEI (MX)
          • Transaction | Credit Internal SPEI (MX)
        • Transaction | Connect Obtain (MX)
        • Transaction | Cobre Balance Obtain (MX)
        • Transaction | Return SPEI (MX)
      • Transactions | Connect List All Items
      • Transactions | Cobre Balance List All Items
      • Transaction | Debit Misc
      • Transaction | Credit Misc
      • Transaction | Adjustment Debit
      • Transaction | Adjustment Credit
    • Authentication
      • Authentication | Request
      • Authentication | Response
    • Cobre Keys
      • Colombia
        • Cobre Key | Create Request
        • Cobre Key | Create Response
        • Cobre Key | Obtain Response
        • Cobre Key | Reactive Request
    • Money Movements
      • Approvals
        • Money Movement Approvals | Create Request
        • Money Movement Approvals | Create Response
        • Money Movement Approvals | List All Items
      • Mexico
        • PayOut
          • Money Movement | Create Metadata Type SPEI
          • Money Movement | Response Metadata Type SPEI
        • Return
          • Money Movement Return | Create Request
          • Money Movement Return | Response Medatada Type SPEI
          • Money Movement Return | Create Response
      • Colombia
        • PayOut
          • Money Movement | Create Metadata Type Fast Pay
          • Money Movement | Response Metadata Type Fast Pay
          • Money Movement | Create Metadata Type ACH
          • Money Movement | Response Metadata Type ACH
          • Money Movement | Create Metadata Type Breb
          • Money Movement | Response Metadata Type ACH
        • PayIn
          • Money Movement Direct Link | Create Metadata Rail PSE
          • Money Movement Direct Link | Response Metadata Rail PSE
          • Money Movement Direct Link | Response Metadata Rail Bancolombia
          • Money Movement Direct Link | Response Metadata Rail Nequi
          • Money Movement Direct Link | Create Metadata Rail r2p Breb
          • Money Movement Direct Link | Response Metadata Rail r2p Breb
        • Direct Debit
          • Money Movement Direct Debit | Create Metadata
          • Money Movement Direct Debit | Response Metadata
      • Money Movement | Create Response
      • Money Movement | List All Items
    • Accounts
      • Account Verification
        • Mexico
          • Account Verification Create Metadata Type mex_acc_details_1
          • Account Verification Response Metadata Type mex_acc_details_1
          • Account Verification Create Request
          • Account Verification Create Response
          • Account Verification Create Metadata Type mex_acc_ownership_1
          • Account Verification Response Metadata Type mex_acc_ownership_1
          • Account Verifications List All Items
        • Colombia
          • Account Verification Response Metadata Type col_key_details_1
          • Account Verification Create Metadata Type col_key_details_1
          • Account Verification Create Metadata Type col_key_ownership_1
          • Account Verification Response Metadata Type col_key_ownership_1
      • Account References
        • Account References Request
        • Account Reference Response
        • List all account references
      • Cobre Balances
        • Mexico
          • Cobre Balance | Create Metadata (MX)
          • Cobre Balance | Create Response (MX)
        • Colombia
          • Cobre Balance | Create Metadata (CO)
          • Cobre Balance | Create Response (CO)
        • Global
          • Cobre Balance | Create Metadata (Global)
          • Cobre Balance | Create Response (Global)
        • Cobre Balance | Create Request
        • Cobre Balances | List All Items
        • Account_request_PATCH
        • Account_request_CONNECT_PATCH
      • Daily Balance
        • Daily Balance Obtain Response
        • Daily Balance Historiy List All Items
      • Account Connect
        • Mexico
          • Account Conect | Create Metadata (MX)
          • Account Connect | Response Metadata (MX)
        • Colombia
          • Account Conect | Create Metadata (CO)
          • Account Connect | Response Metadata (CO)
        • Account Connect | Create Request
        • Accounts Connect | List All Items
    • Bulk Money Movement
      • Bulk Money Movement | Obtain Response
      • Bulk Money Movement Decision | Create Request
      • Bulk Money Movements | List All Items
    • Money Movement Scheduler
      • Money Movement Scheduler | Create Request
      • Money Movement Scheduler | Create Response
      • Money Movement Scheduler | List All Items
    • Checkout
      • Colombia
        • Checkout | Create Request
        • Checkout | Create Response
        • Checkout | List All Items
        • Checkout | Delete
    • Notifications
      • Subscription | Create Request
      • Subscription | Create Response
      • Subscription | List All Items
      • Subscribable Events | List All Items
      • Subscribable Events | Metadata
    • Evidence Request
      • Schemas
        • Error
        • Evidence Request
        • Document Type
        • Evidence Id
        • Upload Intent
        • Evidence Request Id
        • Evidence Request Status
        • Information Type
        • Information
        • Evidence
        • Information Status
        • Document
        • Document Status
        • Headers
      • RequestBodies
        • UploadIntentRequest
    • Cross Border
      • Cross Border Money Movement
        • Cross Border Money Movement Create Request
        • Cross Border Money Movement Create Response
        • Cross Border Money Movement Obtain Response
        • Cross Border Money Movements List All Items
      • FX Quote
        • FX Static Quote
          • FX Quote Static | Create Request
          • FX Quote Static | Create Response
        • FX Rolling Quote
          • FX Quote Rolling | Create Request
          • FX Quote Rolling | Create Response
        • FX Quote | Create Request
        • FX Quote | List All Items
        • FX Quote | Metadata Quote Tiers
        • FX Quote | Metadata Penalization Tier
        • FX Quote | Metadata Fees Breakdown
    • Reports
      • Download
        • Report Download Create Request
        • Report Download Create Response
      • Reports Create Request
      • Reports Create Response
      • Reportes Create Metadata
      • Request Body Reports
      • Reports List All Items
      • Reports Object
    • Error Model
      • Error-model
    • Report Scheduler
      • Report Schedulers | Create Request
      • Report Schedulers | Create Response
  1. Cross Features

Reconciliation with Cobre Reports in Colombia

Overview#

This guide explains how to properly reconcile PayOut (disbursements) and PayIn (collections) transactions in Cobre's platform for local payments in Colombia. Understanding the relationship between Money Movements, Transactions, and your internal records is essential for accurate financial reconciliation.

Core Concepts#

Money Movement vs Transaction#

In Cobre's platform, every payment operation involves two key identifiers:
IdentifierDescriptionExampleWhen Generated
Money Movement IDUnique identifier for the payment request/operationmm_ady1n4g4udWhen the money movement is created
Transaction IDUnique identifier for the accounting ledger entrytrx_sjrirldkmkWhen funds are debited or credited to your Cobre Balance
Key Relationship:
One Money Movement can generate one or more Transactions
Every Transaction is linked to a Money Movement
Money Movements represent the intent; Transactions represent the actual balance changes

Identification Methods#

When creating any money movement (PayOut or PayIn), you have two ways to identify and track it:

1. Money Movement ID (Cobre-generated)#

Generated by: Cobre Platform automatically
Format: mm_ prefix followed by alphanumeric string
Uniqueness: Globally unique across all Cobre operations
Availability: Always present in the API response when the money movement is created
Use case: Primary identifier for tracking with Cobre

2. External ID (Client-provided)#

Generated by: Your system (provided in the API request)
Format: Any string format you define (up to 255 characters)
Uniqueness: Must be unique within your organization
Availability: Optional field in the request, echoed back in responses
Use case: Link Cobre operations to your internal records (invoices, orders, etc.)
Example Request:
curl --request POST \
  --url https://api.cobre.co/v1/money_movements \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'idempotency: ' \
  --data '{
  "source_id": "acc_1232145215",
  "destination_id": "cp_5YFeIDhNkz",
  "amount": 1000,
  "external_id": "clientUser1234",
  "metadata": {
    // Will change according to the money movement type
  },
  "checker_approval": false
}'
Example Response:
{
  "id": "mm_0987654321",
  "batch_id": "bat_0987654321" || "chk_0987654321",
  "external_id": "clientUser1234",
  "mm_approval_id": "",
  "creator": "usr_bGcdf26rR4",
  "type": "fast_pay",
  "geo": "col",
  "status": {
    "state": "initiated",
    "code": "string",
    "description": "string"
  },
  "source_id": "acc_KJnAkypWSc",
  "source": {},
  "destination_id": "cp_5YFeIDhNkz",
  "destination": {},
  "currency": "cop",
  "amount": 100,
  "metadata": {
    // Will change according to the money movement type
  },
  "created_at": "2026-06-24T15:37:37Z",
  "updated_at": "2026-06-24T15:37:38Z",
  "checker_approval": false
}

PayOut Reconciliation#

PayOuts (disbursements) allow you to send money from your Cobre Balance to external bank accounts or counterparties.

PayOut Request Structure#

When creating a PayOut, you specify:
FieldDescriptionRequired
source_idYour Cobre Balance (origin account)βœ… Yes
destination_idCounterparty/beneficiary accountβœ… Yes
amountAmount to disburse (in minor units, e.g., cents)βœ… Yes
external_idYour unique reference for trackingNo, but recommended

PayOut Transaction Flow#

Happy Path: Successful Disbursement#

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  1. Create PayOut Money Movement    β”‚
β”‚  POST /v1/money_movements           β”‚
β”‚  β€’ Amount: 10,000 COP               β”‚
β”‚  β€’ External ID: INV-2025-001        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  2. Money Movement Created          β”‚
β”‚  β€’ MM ID: mm_ady1n4g4ud             β”‚
β”‚  β€’ Status: processing               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  3. Debit Transaction Created       β”‚
β”‚  β€’ TRX ID: trx_sjrirldkmk           β”‚
β”‚  β€’ Type: debit                      β”‚
β”‚  β€’ Amount: -10,000 COP              β”‚
β”‚  β€’ Account: Source Balance          β”‚
β”‚  β€’ Instant application              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  4. Funds Sent Successfully         β”‚
β”‚  β€’ MM Status: completed             β”‚
β”‚  β€’ Destination received funds       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Reconciliation Steps:
1.
Money Movement Created:
Money Movement ID: mm_ady1n4g4ud
External ID: INV-2025-001
Amount: 10,000 COP
Status: processing
2.
Debit Transaction Applied (Instant):
Transaction ID: trx_sjrirldkmk
Type: debit
Amount: -10,000 COP
Account Balance: Reduced by 10,000 COP immediately
Linked to Money Movement: mm_ady1n4g4ud
3.
Final Status:
Money Movement Status: completed
Your Cobre Balance: Permanently reduced by 10,000 COP
Beneficiary: Received 10,000 COP
Reconciliation Record:
Money Movement IDExternal IDTypeAmountTransactionsFinal Balance Impact
mm_ady1n4g4udINV-2025-001PayOut10,000 COP1 debit (trx_sjrirldkmk)-10,000 COP

Alternative Path: Rejected Disbursement#

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  1. Create PayOut Money Movement    β”‚
β”‚  POST /v1/money_movements           β”‚
β”‚  β€’ Amount: 10,000 COP               β”‚
β”‚  β€’ External ID: INV-2025-002        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  2. Money Movement Created          β”‚
β”‚  β€’ MM ID: mm_xyz789def              β”‚
β”‚  β€’ Status: processing               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  3. Debit Transaction Created       β”‚
β”‚  β€’ TRX ID: trx_abc123first          β”‚
β”‚  β€’ Type: debit                      β”‚
β”‚  β€’ Amount: -10,000 COP              β”‚
β”‚  β€’ Account: Source Balance          β”‚
β”‚  β€’ Instant application              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  4. Destination Rejects Payment     β”‚
β”‚  β€’ MM Status: rejected              β”‚
β”‚  β€’ Reason: Invalid account, etc.    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  5. Credit Transaction Created      β”‚
β”‚  β€’ TRX ID: trx_abc123second         β”‚
β”‚  β€’ Type: credit (reversal)          β”‚
β”‚  β€’ Amount: +10,000 COP              β”‚
β”‚  β€’ Account: Source Balance          β”‚
β”‚  β€’ Funds returned to origin         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Reconciliation Steps:
1.
Money Movement Created:
Money Movement ID: mm_xyz789def
External ID: INV-2025-002
Amount: 10,000 COP
Status: processing
2.
Debit Transaction Applied (Instant):
Transaction ID: trx_abc123first
Type: debit
Amount: -10,000 COP
Account Balance: Reduced by 10,000 COP immediately
3.
Rejection Occurred:
Money Movement Status: rejected
Reason: Destination account rejected or invalid
4.
Credit Transaction Applied (Reversal):
Transaction ID: trx_abc123second
Type: credit
Amount: +10,000 COP
Account Balance: Restored by 10,000 COP
Linked to same Money Movement: mm_xyz789def
5.
Final Status:
Money Movement Status: rejected
Your Cobre Balance: Net change = 0 COP (debit + credit)
Beneficiary: Did not receive funds
Reconciliation Record:
Money Movement IDExternal IDTypeAmountTransactionsFinal Balance Impact
mm_xyz789defINV-2025-002PayOut10,000 COP2 transactions:
1. Debit: trx_abc123first (-10,000)
2. Credit: trx_abc123second (+10,000)
0 COP (reversed)

PayOut Reconciliation Best Practices#

βœ… Always track both IDs: Store both money_movement_id and external_id in your records
βœ… Monitor status changes: A PayOut with 2 transactions (debit + credit) indicates a rejection
βœ… Use webhooks: Subscribe to status change events to update records in real-time
βœ… Query Transaction Report: Download reports filtered by date range to reconcile all movements
βœ… Net balance check: For rejected PayOuts, verify that debit and credit transactions offset each other

PayIn Reconciliation#

PayIns (collections) allow you to receive money into your Cobre Balance from payers. Cobre offers two PayIn methods:
1.
Direct Link β€” Generate a payment link for a specific payer
2.
CheckOut β€” Create a flexible payment page with multiple options

PayIn Request Structure#

When creating a PayIn, you specify:
FieldDescriptionRequired
counterparty_idPayer informationβœ… Yes
destination_idYour Cobre Balance (where funds go)βœ… Yes
amountAmount to collectβœ… Yes (or open amount for CheckOut)
external_idYour unique reference for trackingNo, but recommended
payment_methodsAllowed payment methodsβœ… Yes

PayIn Transaction Flow#

Happy Path: Successful Collection (Direct Link)#

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  1. Create Direct Link              β”‚
β”‚  POST /v1/money_movements           β”‚
β”‚  β€’ Amount: 10,000 COP               β”‚
β”‚  β€’ External ID: ORDER-2025-050      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  2. Direct Link Created             β”‚
β”‚  β€’ MM ID: mm_payin123abc            β”‚
β”‚  β€’ Payment link URL generated       β”‚
β”‚  β€’ Status: processing               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  3. Payer Opens Link                β”‚
β”‚  β€’ Chooses payment method           β”‚
β”‚  β€’ Completes payment                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  4. Payment Confirmed               β”‚
β”‚  β€’ MM Status: completed             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  5. Credit Transaction Created      β”‚
β”‚  β€’ TRX ID: trx_credit999xyz         β”‚
β”‚  β€’ Type: credit                     β”‚
β”‚  β€’ Amount: +10,000 COP              β”‚
β”‚  β€’ Account: Destination Balance     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Reconciliation Steps:
1.
Direct Link Created:
Money Movement ID: mm_payin123abc
External ID: ORDER-2025-050
Amount: 10,000 COP
Status: pending
Payment URL: Shared with payer
2.
Payer Completes Payment:
Payer uses the link to pay
Payment method processed successfully
3.
Money Movement Status Updated:
Status changes to: completed
4.
Credit Transaction Created (Only After Completion):
Transaction ID: trx_credit999xyz
Type: credit
Amount: +10,000 COP
Account Balance: Increased by 10,000 COP
Linked to Money Movement: mm_payin123abc
5.
Final Status:
Money Movement Status: completed
Your Cobre Balance: Increased by 10,000 COP
Payer: Successfully paid
Reconciliation Record:
Money Movement IDExternal IDTypeAmountTransactionsFinal Balance Impact
mm_payin123abcORDER-2025-050PayIn (Direct Link)10,000 COP1 credit (trx_credit999xyz)+10,000 COP

Happy Path: Successful Collection (CheckOut)#

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  1. Create CheckOut                 β”‚
β”‚  POST /v1/checkouts                 β”‚
β”‚  β€’ Amount: 10,000 COP (or open)     β”‚
β”‚  β€’ External ID: INV-2025-150        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  2. CheckOut Created                β”‚
β”‚  β€’ CheckOut ID: chk_809821845       β”‚
β”‚  β€’ Payment page URL generated       β”‚
β”‚  β€’ Status: pending                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  3. Payer Opens CheckOut            β”‚
β”‚  β€’ Chooses payment method           β”‚
β”‚  β€’ Enters amount (if open)          β”‚
β”‚  β€’ Completes payment                β”‚
β”‚   MM ID: mm_checkout456def          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  4. Payment Confirmed               β”‚
β”‚  β€’ MM Status: completed             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  5. Credit Transaction Created      β”‚
β”‚  β€’ TRX ID: trx_checkout888ghi       β”‚
β”‚  β€’ Type: credit                     β”‚
β”‚  β€’ Amount: +10,000 COP              β”‚
β”‚  β€’ Account: Destination Balance     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Reconciliation Steps: (Same as Direct Link)
The flow is identical to Direct Link, with the same transaction creation pattern:
Credit transaction is only created when status = completed
If payment fails or is rejected, no transaction is created
Reconciliation Record:
Money Movement IDExternal IDTypeAmountTransactionsFinal Balance Impact
mm_checkout456defINV-2025-150PayIn (CheckOut)10,000 COP1 credit (trx_checkout888ghi)+10,000 COP

Alternative Path: Failed Collection#

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  1. Create Direct Link/CheckOut     β”‚
β”‚  β€’ Amount: 10,000 COP               β”‚
β”‚  β€’ External ID: ORDER-2025-999      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  2. Money Movement Created          β”‚
β”‚  β€’ MM ID: mm_failed777ghi           β”‚
β”‚  β€’ Status: processing               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  3. Payer Attempts Payment          β”‚
β”‚  β€’ Payment method fails             β”‚
β”‚  β€’ Insufficient funds, etc.         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  4. Payment Rejected                β”‚
β”‚  β€’ MM Status: rejected              β”‚
β”‚  β€’ NO transaction created           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Reconciliation Steps:
1.
Money Movement Created:
Money Movement ID: mm_failed777ghi
External ID: ORDER-2025-999
Amount: 10,000 COP
Status: pending
2.
Payment Failed:
Payer's payment method was declined
Status changes to: rejected
3.
No Transaction Created:
Important: No credit transaction is generated
Your Cobre Balance remains unchanged
4.
Final Status:
Money Movement Status: rejected
Your Cobre Balance: No change (0 COP impact)
Payer: Did not successfully pay
Reconciliation Record:
Money Movement IDExternal IDTypeAmountTransactionsFinal Balance Impact
mm_failed777ghiORDER-2025-999PayIn10,000 COP0 transactions0 COP (no funds received)

PayIn Reconciliation Best Practices#

βœ… Credit only on completion: Transactions are ONLY created when status = completed
βœ… Track pending payments: Monitor processing status money movements for payer action
βœ… Handle rejections: Money movements with rejected status will have 0 transactions
βœ… Use external_id: Link to your orders, invoices, or customer records
βœ… Webhook integration: Get notified when payers complete payments
βœ… Reconcile by transaction: Use Transaction Report to verify all credits match completed money movements

Transaction Reports#

Cobre provides Transaction Reports to facilitate reconciliation across all your money movements.

Report Structure#

The follow fields in the layout report will help to do the reconciliation process:
FieldDescriptionExample
idUnique transaction identifiertrx_sjrirldkmk
metadata.money_movement_idLinked money movementmm_ady1n4g4ud
typeType of operationcol_debit, col_credit, r2p_credit
credit_debit_typeDebit or creditdebit, credit
amountTransaction amount10000 (in minor units)
currencyCurrency codeCOP
account_idYour Cobre Balance affectedacc_123abc
metadata.mm_external_idYour referenceINV-2025-001
created_atTransaction timestamp2024-06-24T15:37:38Z

Querying Transaction Reports#

API Endpoint:
GET /v1/reports
Example Request
Example Response:
{
  "id": "repo_kJs8GO03vC",
  "resource": "string",
  "start_date": "2024-09-28T00:00:00Z",
  "end_date": "2024-10-05T00:00:00Z",
  "offset": "-05:00",
  "requested_at": "2024-10-28T12:39:11Z",
  "created_at": "2024-10-28T12:39:11Z",
  "metadata": {
    "account_id": "acc_123456",
    "statement_date": "2025-05"
  },
  "file_name":"20240928_20241028_transactions_repo_kjs8go03vc.csv",
 "file_format": "csv",
 "file_layout": "transactions_csv_v1",
 "sensitive_data": false
}

Reconciliation Workflow#

Step-by-Step Process#

1. Download Transaction Report#

2. Group by Money Movement ID#

Organize transactions by their linked money movement:
Money Movement: mm_ady1n4g4ud
β”œβ”€ Transaction 1: trx_sjrirldkmk (debit: -10,000 COP)
   
Money Movement: mm_xyz789def  
β”œβ”€ Transaction 1: trx_abc123first (debit: -10,000 COP)
β”œβ”€ Transaction 2: trx_abc123second (credit: +10,000 COP)

3. Match External IDs#

Cross-reference external_id with your internal systems:
Cobre External ID: INV-2025-001
β†’ Matches Internal Invoice: INV-2025-001
β†’ Money Movement: mm_ady1n4g4ud
β†’ Net Impact: -10,000 COP

4. Verify Net Balance Impact#

For PayOuts:
Completed: 1 debit transaction (net impact: negative)
Rejected: 1 debit + 1 credit transaction (net impact: zero)
For PayIns:
Completed: 1 credit transaction (net impact: positive)
Rejected: 0 transactions (net impact: zero)

---

## Reconciliation Formulas

### Expected Balance Calculation
Current Balance = Previous Balance + Credits - Debits

**Example:**
Previous Balance: 100,000 COP
Credits (PayIns): +50,000 COP
Debits (PayOuts): -30,000 COP
Current Balance: 100,000 + 50,000 - 30,000 = 120,000 COP

### Money Movement Transaction Count

**PayOut:**
- Completed: 1 transaction (debit)
- Rejected: 2 transactions (debit + credit reversal)

**PayIn:**
- Completed: 1 transaction (credit)
- Rejected: 0 transactions

---

## Common Reconciliation Scenarios

### Scenario 1: All PayOuts Successful
Money Movements: 5 PayOuts
Expected Transactions: 5 debits
Net Impact: -50,000 COP (sum of all PayOuts)

### Scenario 2: PayOut with Rejection
Money Movement: mm_rejected001
Transaction 1: -10,000 COP (debit)
Transaction 2: +10,000 COP (credit)
Net Impact: 0 COP
Status: rejected

### Scenario 3: PayIn Completed
Money Movement: mm_payin001
Transaction 1: +25,000 COP (credit)
Net Impact: +25,000 COP
Status: completed

### Scenario 4: PayIn Pending (No Payment Yet)
Money Movement: mm_pending001
Transactions: 0
Net Impact: 0 COP
Status: pending
Action: Wait for payer to complete payment

---

## Troubleshooting

### Issue 1: Missing External ID in Report
**Problem:** Transaction shows null `external_id`  
**Cause:** External ID not provided in money movement creation  
**Solution:** Always include `external_id` in your API requests

### Issue 2: Balance Mismatch
**Problem:** Calculated balance doesn't match actual balance  
**Cause:** Missing transactions or unreported reversals  
**Solution:** 
1. Query full transaction history for the period
2. Check for rejected money movements (2 transactions each)
3. Verify all money movement statuses

### Issue 3: Duplicate Reconciliation
**Problem:** Same transaction reconciled twice  
**Cause:** Using non-unique `external_id`  
**Solution:** Ensure `external_id` is unique per money movement

### Issue 4: PayIn with No Transaction
**Problem:** Completed PayIn has no credit transaction  
**Cause:** Money movement status is not `completed`  
**Solution:** Check money movement status; transactions only created on `completed`

---

## API Endpoints Reference

### Create PayOut
POST /v1/money_movements

### Create Direct Link (PayIn)
POST /v1/money_movements

### Create CheckOut (PayIn)
POST /v1/checkouts

### Get Money Movement Status
GET /v1/money_movements/{money_movement_id}

### Get Transaction Details
GET /v1/transactions/{transaction_id}

### Download Transaction Report
GET /v1/reports

---

## Key Takeaways

βœ… **Every money movement has a unique ID** β€” Use `money_movement_id` as primary identifier  
βœ… **External IDs are critical** β€” Always provide `external_id` for reconciliation  
βœ… **Transaction timing differs** β€” PayOuts create instant debits; PayIns create credits only on completion  
βœ… **Rejections create reversals** β€” PayOut rejections generate 2 transactions (debit + credit)  
βœ… **Use Transaction Reports** β€” Download reports by date range for bulk reconciliation  
βœ… **Monitor status changes** β€” Subscribe to webhooks for real-time reconciliation updates  
βœ… **Net balance formula** β€” Completed PayOuts = -amount, Completed PayIns = +amount, Rejections = 0  

---
Modified atΒ 2026-01-27 22:07:55
Previous
Account Verification
Next
Reports
Built with