1. Reconciliation
🇺🇸 English
  • 🇺🇸 English
  • 🇪🇸 Español
  • 🇨🇳 中文(简体)
  • Cobre Intro
    • Welcome
    • Get started
    • Connect Cobre's Documentation to AI
    • 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
          • United States
            • Money Movements with Fedwire
          • Multi-region
            • Money Movements Scheduler
        • Payins
          • Colombia
            • Checkout
            • Request to Pay (R2P) Colombia
            • Direct Debit with Nequi
            • Static Bre-B Keys
            • Transfer-In
          • México
            • Request to Pay (R2P) Mexico
            • CLABE-backed Virtual Balances Accounts (Cobre Balances)
            • Virtual CLABEs
          • United States
            • Fedwire Payins at Cobre
        • Other features
          • Bulk Money Movements
          • Enabling Approval Workflows (Maker–Checker)
          • Named Accounts in Mexico
      • Cross Border Payments
        • Cross Border Payments with Cobre
      • Stablecoins
        • Stablecoins with Cobre
        • Global Payins in Stablecoins
        • Global Payouts in Stablecoins
        • Stablecoin Funding (On-Ramp & Off-Ramp)
        • StableFX
        • COPco & Rewards
      • Connect
        • Connect bank accounts with Cobre
    • Other features
      • Account Verification
      • Notifications and subscriptions
      • Security at Cobre
      • Performance and throughput
      • Reconciliation at Cobre
    • Using Cobre
      • Bre-B Payouts with Payment Instruments of Your Ecosystem
      • Cobre for Lenders
      • Integrating Cobre from ERPs
  • 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
      • Scheduler
      • Payment Links
    • Transactions
      • Transactions
    • Accounts
      • Account and Balance Management
      • Account References
        • Virtual CLABEs
        • Transfer Accounts (Transfer-In)
    • 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
        • Named Accounts (MX)
      • Connect Accounts
        • Managing Connect Accounts
      • Counterparties
        • Managing Counterparties
      • Local Payments
        • Money Movement
        • Payouts
          • Colombia
            • Fast Pay & ACH
            • Bre-B
          • Mexico
            • SPEI
          • United States
            • Fedwire Payouts
          • Cross-Region
            • Money Movements Approval
            • Bulk Money Movements
            • Bulk Money Movements Approval
            • Money Movement Scheduler
        • Payins
          • Colombia
            • Cobre Keys with Bre-B
            • Checkout
            • Direct Link
            • Direct Debit
            • Transfer-In
            • Processing Refunds in Colombia
          • Mexico
            • Account Reference – Virtual CLABEs
            • Direct Link
            • Processing Refunds in Mexico
          • United States
            • Fedwire Payins
      • Cross Border Payments
        • Cross Border Payments
        • Create Fx Quotes
        • Create a Cross Boder Money Movement
        • Fund your global Cobre Balance
        • Create a Generic Money Movement
      • Cross Features
        • Account Verification
        • Reports
        • Report Scheduler
        • Evidence API
        • Notifications & Subscriptions
        • FX Alerts
      • Reconciliation
        • Payouts Reconciliation
        • Payins Reconciliation in Colombia
        • Payins Reconciliation in México
        • Opening and Closing Balance Reconciliation
        • Account Linkage Reconciliation
      • Testing
        • Testing Cases
        • Testing PSE and Bancolombia
        • General Testing
      • Certification
        • Certification Process
        • Questionnaire
      • Stablecoins
        • Stablecoins
        • Managing Stablecoin Balances & Wallets
        • Stablecoin Payins
        • Stablecoin Payouts
        • Stablecoin Funding (On/Off-Ramp)
        • StableFX
        • COPco Rewards
        • Global payouts in stable
      • Others
        • Managing API and Product Changes
        • Security Considerations
        • Performance Guidelines: Rate and Burst Limit Considerations
    • API Explorer
      • Authentication
        • Authentication
      • Accounts
        • Create or Connect an Account
        • Obtain all Accounts
        • Obtain one Account
        • Update an Account
        • Close a Cobre Balance
        • Obtain an Account Transactions
        • Obtain an Account Transaction
        • Obtain all Transactions
        • Obtain one Transaction
        • Obtain Account Daily Balance History
        • Assign or Change Primary Account
        • Unlinking Primary Account
      • Account Verifications
        • Create an Account Verification
        • Obtain one Account Verification
        • Obtain all Account Verifications
      • Account References
        • Create an Account Reference
        • List one Account Reference
        • List all Account References
        • Delete an Account Reference
        • Generate a Certificate for your Account Reference
      • 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
        • 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 Subscriptions
        • Delete a Subscription
        • List all Available Events
      • Alerts
        • Create Alert
        • Obtain All Alerts
        • Obtain One Alert
        • Deactivate An Alert
      • Subclients
        • Create a Subclient
        • Obtain all Subclients
        • Obtain one Subclient
    • Development Toolkit
      • How to integrate with Cobre
      • Build with AI
      • Create a Solution Design with AI
      • Generate Code with MCP
      • Explore API Workflow Examples
    • Platform Catalogs
      • Mexican Bank Codes
      • Error Dictionary
      • Transaction Types
      • Account Providers
      • Money Movement Statuses
      • Colombian Bank Codes
    • 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
        • Counterparties
        • Direct Debit Registration
      • Money Movement
        • Money Movement
      • Bulk Money Movement
        • Bulk Money Movement
      • Cross Border Money Movement
        • Cross Border Money Movement
      • Evidence Requests
        • Evidence Requests
      • Reports
        • Reports
      • Alerts
        • FX Alerts
      • Account References
        • Self-custodian wallet
        • Transfer-in
      • Subclients
        • Subclients
  • Schemas
    • Counterparties
      • Colombia
        • PayOut
          • Counterparty | Create Metadata Type Cobre Balance (CO)
          • Counterparty | Response Metadata Type Cobre Balance (CO)
          • Counterparty | Create Metadata Type Breb Key (CO)
          • Counterparty | Response Metadata Type Breb Key (CO)
          • Counterparty | Create Metadata Type QR (CO)
          • Counterparty | Response Metadata Type QR (CO)
          • 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)
        • PayIn
          • Counterparty | Response Metadata Type r2p (CO)
          • Counterparty | Create Metadata Type r2p (CO)
          • Counterparty | Create Metadata Type r2p Breb (CO)
          • Counterparty | Response Metadata Type r2p Breb (CO)
        • Secondary Counterparty
          • Secondary Counterparty Create Request
          • 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)
        • PayIn
          • Counterparty | Create Metadata Type r2p (MX)
          • Counterparty | Response Metadata Type r2p (MX)
        • Counterparty | Create Response (MX)
        • Counterparty | Create Request (MX)
        • Counterparty | Money Movement Return (MX)
      • Global
        • Counterparty | Global CP Request
        • Counterparty | Global Deposit NP request
        • Counterparty | Global Deposit NP response
        • Counterparty | Global Deposit LE request
        • Counterparty | Global Deposit LE response
        • Counterparty | Global CP Response
      • USA
        • Counterparty | Create Request (USA)
        • Counterparty | Create Response (USA)
        • Request Medatata Business
        • Response Medatata Business
        • Request Medatata Individual
        • Response Medatata Individual
        • Counterparty | Create Request (USA)
        • Counterparty | Create Response (USA)
      • Generic
        • Counterparty | Generic CP Request
        • Counterparty | Generic CP Response
        • Payment Information | SWIFT
        • Payment Information | SEPA
        • Payment Information | CIPS
        • Payment Information | Fedwire
      • Counterparty | List All Items
    • Authentication
      • Authentication | Request
      • Authentication | Response
    • 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 r2p (r2p_credit)
          • Transaction | Credit Breb (CO) (breb_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 | Return SPEI (MX)
        • Transaction | Cobre Balance Obtain (MX)
      • Transactions | Connect List All Items
      • Transaction | Debit Misc
      • Transaction | Credit Misc
      • Transaction | Adjustment Debit
      • Transaction | Adjustment Credit
      • Transactions | Cobre Balance List All Items
      • Transaction Metadata | global_credit
      • Transaction Metadata | global_debit
      • Transaction Metadata | stable_payout_debit
      • Transaction Metadata | onramp_credit
      • Transaction Metadata | onramp_debit
      • Transaction Metadata | offramp_credit
      • Transaction Metadata | offramp_debit
      • Transaction Metadata | reward_credit
      • Transaction Metadata | cbmm_debit (StableFX)
      • Transaction Metadata | cbmm_credit (StableFX)
      • Transaction | Cobre Balance Obtain (Global/Stable)
    • 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 | Create Response
          • Money Movement Return | Response Medatada Type SPEI
        • PayIn
          • Money Movement Direct Link | Create Metadata Rail r2p SPEI
          • Money Movement Direct Link | Response Metadata Rail r2p SPEI
      • Colombia
        • PayOut
          • Money Movement | Create Metadata Type Fast Pay
          • Money Movement | Response Metadata Type Bre-B
          • Money Movement | Create Metadata Type Bre-B
          • Money Movement | Response Metadata Type Fast Pay
          • Money Movement | Create Metadata Type ACH
          • Money Movement | Response Metadata Type ACH
          • Money Movement | Response Metadata Type Bre-B
          • Money Movement | Response Metadata Type Bre-B Split
        • PayIn
          • Money Movement Direct Link | Create Metadata Rail r2p
          • 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
      • Global
        • Payout in stable
          • Money Movement | Create Metadata Type Global (stable)
          • Money Movement | Response Metadata Type Global (stable)
          • Money Movement | Create Metadata Type Stable Payout
          • Money Movement | Response Metadata Type Stable Payout
      • United States
        • PayOut
          • Money Movement | Create Metadata Type Fedwire
          • Money Movement | Response Metadata Type Fedwire
        • PayOuts
      • Generic
        • Money Movement | Create Metadata Type Generic
        • Money Movement | Response Metadata Type Generic
      • Money Movement | List All Items
      • Money Movement | Create Metadata Type On-Ramp / Off-Ramp
      • Money Movement | Create Response
      • Money Movement | Response Metadata Type On-Ramp / Off-Ramp
    • 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 Metadata Type mex_acc_ownership_1
          • Account Verification Response Metadata Type mex_acc_ownership_1
        • 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 Verificacion Response Metadata Type col__key_ownership_2
          • Account Verification Create Metadata Type col_key_ownership_2
        • Account Verification Create Response
        • Account Verifications List All Items
      • Account References
        • Account References Request
        • Account Reference Response
        • List all account references
        • Account Reference Certificate Generation Response
        • Account References Request (Self-Custodian Wallet)
        • Account Reference Response (Self-Custodian Wallet)
      • Daily Balance
        • Daily Balance Historiy List All Items
        • Daily Balance Obtain Response
      • Cobre Balances and Connect Accounts
        • Mexico
          • Cobre Balance | Create Metadata (MX)
          • Cobre Balance | Create Response (MX)
          • Connect Account | Create Metadata (MX)
          • Connect Account | Response Metadata (MX)
        • Colombia
          • Cobre Balance | Create Metadata (CO)
          • Connect Account | Create Metadata (CO)
          • Connect Account | Response Metadata (CO)
          • Cobre Balance | Create Response (CO)
        • Global
          • Cobre Balance | Create Metadata (Global)
          • Cobre Balance | Create Response (Global)
          • Cobre Balance | Create Metadata (Stable)
          • Cobre Balance | Create Response (Stable)
        • USA
          • Cobre Balance | Create Metadata (USA)
          • Cobre Balance | Create Response (USA)
        • Cobre Balance | Create Request
        • Connect Account | Create Request
        • Accounts | List All Items
        • Account | Update Request
    • 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 Response
      • Subscription | Create Request
      • 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
        • Upload Intent Request
    • Cross Border
      • Cross Border Money Movement
        • Cross Border Money Movement Create Request
        • Cross Border Money Movement Create Response
        • CBMM Obtain Response | Static Quote
        • CBMM Obtain Response | Rolling Quote
        • Cross Border Money Movements List All Items
      • FX Quote
        • FX Rolling Quote
          • FX Quote Static | Create Response
          • FX Quote Static | Cross Border Response
        • FX Static Quote
          • FX Quote Rolling | Create Response
          • FX Quote Rolling | Cross Border Response
        • FX Quote | List All Items
        • FX Quote | Metadata Quote Tiers
        • FX Quote | Metadata Penalization Tier
        • FX Quote | Metadata Fees Breakdown
        • FX Quote | Create Request
    • Reports
      • Download
        • Report Download Create Request
        • Report Download Create Response
      • Reports Create Request
      • Reports Create Response
      • Reports Create Metadata
      • Reports List All Items
      • Cobre Balance Statement Request
      • Cobre Balance Statement Response
    • Error Model
      • Error Model
    • Report Scheduler
      • Report Schedulers | Create Request
      • Report Schedulers | Delete Response
    • Alerts
      • Create Alert
      • Alert Object
      • List All Alerts
      • Alert | Metadata Type fx_rate
    • Subclients
      • Subclients | Create Request (MX)
      • Subclients | Create Response (MX)
  1. Reconciliation

Payins Reconciliation in México

Reconciling PayIns in Mexico means matching the credit Transaction a SPEI collection produces on your Cobre Balance to the entity or request it settles — using metadata.account_reference, a field required on every spei_credit Transaction. Whether that collection also involved a Money Movement first (Direct Link R2P SPEI) or not (a standing CLABE linked to a Cobre Balance or Virtual CLABE) changes where that account_reference value comes from, but not the fact that it's always the key you reconcile on.
This guide covers Mexico-specific PayIn behavior. For the general Money Movement lifecycle model, see Money Movement; for payout reconciliation, see Payouts Reconciliation; for balance-level reconciliation, see Opening and Closing Balance Reconciliation.

Money Movements vs. Transactions#

IdentifierPrefixGenerated whenRepresents
Money Movement IDmm_A Direct Link R2P SPEI collection is createdThe collection intent and its lifecycle status
Transaction IDtrx_The PayIn completes and funds are creditedThe actual balance-affecting ledger entry
Always provide external_id when creating a Direct Link PayIn Money Movement. It's echoed back and is the simplest way to match a Cobre collection to your internal invoice or order — but it's a field on the Money Movement, not on the resulting Transaction. See below for how the Transaction itself is keyed.
This doesn't apply to a CLABE-linked SPEI credit — see below. Those have no Money Movement and no external_id.
Example — how a Direct Link R2P SPEI PayIn and its Transaction unfold, step by step:
1
Money Movement created
Cobre mints a short-lived dynamic CLABE for this specific request (metadata.virtual_account, 5-minute default validity) and hands it to the payer.
{
  "id": "mm_8pf9xbiJkAdiAO",
  "external_id": "ORDER-MX-2026-010",
  "type": "direct_link",
  "geo": "mex",
  "status": {
    "state": "initiated",
    "code": "",
    "description": ""
  },
  "source_id": "cp_5YFeIDhNkz",
  "destination_id": "acc_XI7W2HQYuE",
  "currency": "mxn",
  "amount": 10000,
  "metadata": {
    "r2p_rail": "spei",
    "virtual_account": "706180301111111111"
  },
  "created_at": "2025-11-06T16:44:10Z",
  "updated_at": "2025-11-06T16:44:10Z"
}
2
Payer sends the SPEI transfer to the dynamic CLABE — credit Transaction applied
{
  "id": "trx_j51T77qTrVj0lH8TAQlq",
  "type": "spei_credit",
  "account_id": "acc_XI7W2HQYuE",
  "amount": 10000,
  "previous_balance": 0,
  "current_balance": 10000,
  "currency": "mxn",
  "credit_debit_type": "credit",
  "transaction_date": "2025-11-06T16:44:24Z",
  "created_at": "2025-11-06T16:44:24Z",
  "metadata": {
    "account_reference": "706180301111111111",
    "sender_account_number": "002180700856249796",
    "sender_name": "JOHN,DOE/SMITH",
    "reference": "91025",
    "tracking_key": "085905789870328253",
    "description": "Transferencia interbancaria"
  }
}
spei_credit Transactions have no money_movement_id field at all. The Transaction's metadata.account_reference (706180301111111111) matches the Money Movement's metadata.virtual_account — that's the field you match on to tie the two together.
3
Money Movement reaches completed
{
  "id": "mm_8pf9xbiJkAdiAO",
  "external_id": "ORDER-MX-2026-010",
  "type": "direct_link",
  "geo": "mex",
  "status": {
    "state": "completed",
    "code": "",
    "description": ""
  },
  "source_id": "cp_5YFeIDhNkz",
  "destination_id": "acc_XI7W2HQYuE",
  "currency": "mxn",
  "amount": 10000,
  "metadata": {
    "r2p_rail": "spei",
    "virtual_account": "706180301111111111"
  },
  "created_at": "2025-11-06T16:44:10Z",
  "updated_at": "2025-11-06T16:44:24Z"
}
A CLABE-linked SPEI credit (no Direct Link involved) produces the exact same Transaction shape and also keys off account_reference — but there's no Money Movement behind it, and the CLABE is a standing one rather than a short-lived one minted per request. See below for how to tell the two apart.

Mexico Credit Transaction Types#

Transaction typeCollection methodBacked by a Money Movement?
spei_creditSPEI transfer to a CLABE linked to a Cobre Balance or Virtual CLABENo — see below
spei_creditDirect Link R2P SPEI collectionYes
mex_creditConnect Account credit (bank-reported)Yes
internal_spei_credit / internal_creditInternal transfer between Cobre-hosted accountsYes
SPEI credit Transactions carry the sender's account and identification data directly in metadata, which is what makes Mexico refunds a single-endpoint operation — see below.
metadata.account_reference is a required field on every spei_credit Transaction, regardless of whether a Money Movement is involved. It's always your reconciliation key for this transaction type.

CLABE-Linked SPEI Credits Don't Create a Money Movement#

A CLABE linked to a Cobre Balance, or a Virtual CLABE, is available to receive SPEI transfers at any moment — like a static Cobre Key in Colombia, there's no Cobre-initiated request to track. Because of this, no Money Movement is created: the transfer simply produces a spei_credit Transaction directly on your Cobre Balance.
Example — a spei_credit Transaction from a CLABE-linked SPEI collection:
{
  "id": "trx_h5G3wRz88mAxVe2",
  "type": "spei_credit",
  "account_id": "acc_6euTJ0ikgi",
  "amount": 100,
  "previous_balance": 0,
  "current_balance": 100,
  "currency": "mxn",
  "credit_debit_type": "credit",
  "transaction_date": "2025-10-09T19:26:13Z",
  "created_at": "2025-10-09T19:26:14Z",
  "metadata": {
    "account_reference": "706180301111111100",
    "intended_beneficiary_id": "ND",
    "reference": "91025",
    "intended_beneficiary_name": "PEXTO MEXICO",
    "sender_account_number": "002180700856249796",
    "description": "Transferencia interbancaria",
    "sender_name": "JOHN,DOE/SMITH",
    "tracking_key": "085905789870328253",
    "sender_id": "GAAP920820PP7"
  }
}
There is no money_movement_id anywhere on this Transaction. metadata.account_reference (706180301111111100 in this example — the standing CLABE that received the funds) is your reconciliation key. account_id, reference, and tracking_key are useful supporting fields, but account_reference is what to key your matching logic on.
By contrast, a Direct Link R2P SPEI collection does create a Money Movement first — it's a request-to-pay flow, not a standing account waiting to receive funds. Its resulting spei_credit Transaction still reconciles via metadata.account_reference, but that value is the Money Movement's own dynamically generated virtual_account (a short-lived CLABE minted just for this request) rather than a standing one. Match metadata.account_reference on the Transaction against metadata.virtual_account on the Money Movement to tie the two together.

PayIn Lifecycle and Balance Impact#

For Money-Movement-backed collections (Direct Link R2P SPEI), a Transaction is only created when the Money Movement reaches completed:
Terminal stateTransaction created?Net balance impact
completedYes — 1 credit (spei_credit)Positive (funds received)
rejected / failedNoNone
CLABE-linked SPEI credits don't go through this lifecycle at all — see above.

Refunds Affect Reconciliation Too#

Mexico refunds a SPEI credit through a dedicated endpoint: Return a Money Movement (POST /money_movements_return). Because SPEI credit Transactions retain the sender's account details, Cobre auto-creates the destination counterparty and a new spei_return Money Movement, producing a spei_debit Transaction on your Cobre Balance — both carrying metadata.money_movement_id, unlike the original spei_credit. When reconciling a period, don't assume a completed PayIn's balance impact is permanent — check for a later spei_debit linked to the same original transaction before closing out the period. See Processing Refunds in Mexico for the full flow.
Returns are currently limited to spei_credit transactions on supported account providers (starting with pr_mex_cobre3, others coming soon) — see the endpoint reference for the current list.

Reconciling Mexico PayIns#

On demand: For Direct Link R2P SPEI, query Obtain all Money Movements filtered by state, external_id, destination_id (your Cobre Balance), or a date range to get the Money Movement's metadata.virtual_account, then cross-reference Obtain an Account Transactions filtered by credit_debit_type=credit and metadata.account_reference equal to that value. For CLABE-linked SPEI credits, query Transactions directly and match metadata.account_reference against your own map of issued CLABEs — there's no Money Movement to query.
In bulk: Generate a Money Movement report (money_movement_mex_spei_csv_v1 or money_movement_csv_v1 for CSV, money_movement_v1 for JSON) and a Transaction report (transactions_csv_v1 for CSV, account_transactions_v1 for JSON) via Reports, and filter the exported rows to currency = MXN. Group all spei_credit rows by metadata.account_reference — this works uniformly whether the CLABE is standing or minted for a single Direct Link request. For Direct Link rows specifically, cross-reference the Money Movement report's metadata.virtual_account to confirm which request each credit settles.
In real time: Subscribe to Notifications & Subscriptions instead of polling. For Direct Link R2P SPEI, money_movements.status.completed (and .rejected / .failed) fires as soon as the status changes. CLABE-linked SPEI credits have no Money Movement to emit a status event for — use accounts.balance.credit instead, and match it back using the event's metadata.account_reference.
Webhook delivery is best-effort, not guaranteed forever — see Notifications & Subscriptions for the retry window. Treat webhooks as your real-time signal and on-demand queries or Reports as the periodic fallback that catches anything a webhook missed.

Allowed Actions on Payin Reconciliation in México#

🔍 Retrieval — Money Movements
🔍 Retrieval — Transactions
🔑 Reports
Description: Query Direct Link R2P SPEI PayIns on demand by state, external ID, destination Cobre Balance, or date range. Does not apply to CLABE-linked SPEI credits.
What to expect after the action: A paginated list of Money Movement objects with their current status.
📘 Learn more:
🔗 Obtain all Money Movements
🔗 Obtain one Money Movement

How to Get Started#

1
Reconcile spei_credit Transactions on account_reference, always
It's the one field guaranteed to be present, whether the collection went through a Money Movement or not.
2
Know which collection methods create a Money Movement
Direct Link R2P SPEI does; a CLABE-linked SPEI credit doesn't. For Direct Link, account_reference on the Transaction matches virtual_account on the Money Movement.
3
Always provide external_id on Direct Link PayIns
It's searchable via the external_id filter on the Money Movement, and the simplest way to match a collection to your internal order or invoice.
4
Subscribe to Money Movement status events instead of polling
See Notifications & Subscriptions to know when a Direct Link PayIn completes without repeatedly querying the API.
5
Track refunds as a linked spei_return / spei_debit pair
Watch for a follow-up spei_debit Transaction referencing a previously completed PayIn's credit.

What to expect after using this API#

1
Completed Direct Link PayIns match one-to-one with a credit Transaction
Rejected or failed Direct Link PayIns produce no balance-affecting Transaction. CLABE-linked SPEI credits skip this lifecycle entirely.
2
Every spei_credit reconciles on account_reference
For Direct Link, that value is the Money Movement's dynamically generated virtual_account; for a standing CLABE, it's the CLABE itself.
3
Refunded PayIns surface as a linked spei_return / spei_debit pair
Reconciliation for a given period accounts for both the original credit and any later refund debit — and both legs of the refund carry money_movement_id, unlike the original credit.
Modified at 2026-08-21 14:59:48
Previous
Payins Reconciliation in Colombia
Next
Opening and Closing Balance Reconciliation
Built with