CBS data

cbs_data tracks the booking of a payment order, incoming payment, return, or payment capture in Mambu Core.

How it works

When Mambu Payments processes a payment (incoming or outgoing), it will try to book the corresponding transaction automatically in Mambu Core, via our automated flows for Lending and Deposits products. If this automated flow fails for any reason, the payment will be marked as an orphan operation and will enter a dedicated repair queue.

You use cbs_data to tell which payments are booked, which are stuck, and why. From there you can resolve an orphan payment through the API or through the Orphan Operations screen in the dashboard.

Key concepts

{
  "object": "payment_order",
  
  "cbs_data": {
    "booking_status": "booked",
    "booking_type": "automatic",
    "booking_status_error_code": null,
    "booking_status_details": null,
    "transactions": [
			{
			  "id": "2309",
			  "type": "deposit",
			  "channel": "cash",
			  "context": "repayment",
			  "booked_at": "2026-06-22T10:23:03.142343781Z",
			  "account_id": "TIAS903",
			  "external_id": "c0a8a86a-785c-5ad9-ba32-64b75eaeb3e1",
			  "authorization_id": null,
			  "error_code": null,
			  "details": null,
			}
    ]
  },
  "credit_arrangement_id": "678",
  "loan_ids": ["901","234"]
}
{
  "object": "incoming_payment",
  
  "cbs_data": {
    "booking_status": "pending",
    "booking_type": null,
    "booking_status_error_code": "account_error",
    "booking_status_details": "no active internal account found",
    "transactions": null,
    "credit_arrangement_id": null,
    "loan_ids": null
}

Booking status and type

  • booking_status: shows the current booking state of the payment.

    ValueDescription
    not_startedThe payment hasn't been fully processed yet, so booking hasn't started.
    in_progressThe payment is being booked.
    pendingThe payment was not booked via the automated flows and need to be booked manually. This is an orphan operation.
    bookedThe payment has been booked.
    excludedThe payment should not be booked in Mambu Core as it belongs to payment flows managed outside Mambu Core. You've opted this payment out of booking via API or dashboard.
    adjustedA previously booked transaction was reversed with an adjustment.
  • booking_type: shows how the payment was booked:

    • automatic if Mambu Payments booked it
    • manual if it was booked manually using the API or dashboard.

Error codes and details

  • booking_status_error_code: set when booking_status is pending. One of account_error, configuration_error, or cbs_error.
  • booking_status_details: a human-readable reason for the error code.
booking_status_error_codebooking_status_detailsMeaning
account_errormultiple active internal accounts foundTwo or more active internal accounts matched the payment.
account_errorno active internal account foundNo active internal account matched the payment.
account_errorno cbs data found in internal accountThe matching internal account has no CBS configuration.
configuration_errorno transaction channel foundNo transaction channel is mapped for this payment.
cbs_errortimeoutMambu Core didn't respond in time.
cbs_errorhttp XXX, reason / sourceMambu Core returned an error code (XXX), a reason and a source.

Credit arrangement and loan IDs

When a payment is part of the Lending integration, these fields will show:

  • credit_arrangement_id: the ID in Mambu Core this payment is linked to.
  • loan_ids: an array of the IDs in Mambu Core this payment is linked to.

Transactions

The transactions booked in Mambu Core, each with their own type, context, error_code, and details. booking_status summarizes the payment as a whole. transactions[] gives you the line-by-line detail behind that summary.

A payment can produce more than one entry in transactions[]. A straightforward deposit books as a single transaction, but repayments, disbursements, and reversals can create multiple transactions

AttributeDescription
idThe ID of the transaction in Mambu Core.
external_idThe external ID of the transaction in Mambu Core. In most cases, it will be the payment ID.
authorization_idThe ID of the authorization hold created for this payment, if any. See https://docs.mambu.com/docs/authorization-holds/
typeThe type of the transaction. Can be deposit, withdrawal, repayment, disbursement, adjustment.
contextThe payment context in which the transaction was booked. Can be deposit, disbursement, repayment, suspense.
channelThe transaction channel used when posting the transaction. See https://docs.mambu.com/docs/transaction-channels/.
error_codeThe error received from Mambu Core when posting the transaction, if any. See Error codes and details.
detailsThe details of the error received from Mambu Core when posting the transaction, if any. See Error codes and details.
booked_atThe UTC timestamp of the booking.
account_idThe ID of the account (deposits or loan) in Mambu Core where the transaction was posted.