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

# Cash deposits

> The assigned cash point, the 24-hour deadline, and how the cash agent validates the deposit.

After the collection is confirmed, the carrier deposits the cash at the Broco cash point assigned in **Broco Transporteur**. The deposit is due **24 hours after the confirmed collection**.

## From collection to credit

```mermaid theme={null}
flowchart TD

  A["collected_awaiting_deposit<br/>carrier holds the cash"]:::step --> B["Carrier brings the cash<br/>to the assigned point"]:::step
  A -. "deadline passes" .-> O["deposit.overdue: true<br/>still collected_awaiting_deposit"]:::step
  O --> B
  B --> C["Agent scans the deposit QR code<br/>links the deposit, validates no amount"]:::step
  C --> D["Agent counts the cash"]:::step
  D --> E{"Amount received equals<br/>amount expected?"}:::check
  E -- "yes" --> F["Final validation<br/>deposit.validated_at"]:::check
  E -- "no" --> R["deposit_under_review<br/>Broco resolves the gap"]:::step
  R --> F
  F --> G["Broco credits the wholesaler<br/>settled, settled_at = validated_at"]:::money
  G -.-> H["settlement.completed<br/>sent to your marketplace"]:::notify
  classDef money fill:#158FAB,stroke:#0E6F86,color:#FFFFFF
  classDef check fill:#E8F4F7,stroke:#158FAB,color:#0E1C29
  classDef notify fill:#FFF6C2,stroke:#B89400,color:#0E1C29,stroke-dasharray:4 3
  classDef step fill:#FFFFFF,stroke:#C9D0D6,color:#0E1C29
```

In this diagram, blue steps move money, light blue steps are validations, and dashed yellow steps are notifications.

* Scanning the QR code links the deposit to the collection. It does not validate any amount.
* A missed deadline sets `deposit.overdue: true`. The status stays `collected_awaiting_deposit` and the balance is unchanged.
* A complete deposit validated after the deadline settles normally, with `deposit.deposited_late: true`.
* The credit happens at final validation. `settlement.completed` follows, and the credit does not depend on your marketplace receiving it.

## Deposit steps

<Steps>
  <Step title="Broco assigns a cash point">
    Broco Transporteur shows the assigned point, its address and the time left. In the example, the collection was confirmed at `2026-10-12T10:24:00Z`, so the deposit is due at `2026-10-13T10:24:00Z`.
  </Step>

  <Step title="The QR code links the deposit">
    At the point, the cash agent scans the carrier's QR code. It links the deposit to the collection, the carrier and the wholesaler. The scan does not validate the deposit.
  </Step>

  <Step title="The agent counts the cash">
    The agent counts the cash and records the amount received. A first count can be checked before final validation.
  </Step>

  <Step title="Broco validates the deposit and credits the wholesaler">
    Final validation confirms the amount received. When it matches the amount expected, Broco reconciles the deposit with the collection and credits the wholesaler in the same step. `deposit.validated_at` and `settlement.settled_at` are the same time.
  </Step>
</Steps>

## Deposit fields

| Field | Meaning |
| - | - |
| `deposit.point` | Assigned Broco cash point |
| `deposit.due_at` | 24 hours after `collected_at` |
| `deposit.overdue` | `true` while the deadline has passed and no deposit is validated |
| `deposit.deposited_late` | `true` when the deposit was validated after `due_at`. Kept for history. |
| `deposit.amount_expected` | Amount of the collection |
| `deposit.amount_received` | Amount confirmed by the cash agent at final validation |
| `deposit.validated_at` | Time of final validation |

## Late deposits

A missed deadline is a delay, not a settlement. It does not block the credit either.

| Situation | Status | Fields | Wholesaler balance |
| - | - | - | - |
| Deadline passed, no deposit yet | `collected_awaiting_deposit` | `overdue: true` | Unchanged |
| Full deposit validated after the deadline | `settled` | `overdue: false`, `deposited_late: true` | Credited at validation |

```json Response theme={null}
{
  "id": "col_3Fk9pQ2w",
  "status": "settled",
  "amount": 5000000,
  "currency": "DZD",
  "order_reference": "ORD-58213",
  "collected_at": "2026-10-12T10:24:00Z",
  "deposit": {
    "point": "pt_ALG_0142",
    "due_at": "2026-10-13T10:24:00Z",
    "overdue": false,
    "deposited_late": true,
    "amount_expected": 5000000,
    "amount_received": 5000000,
    "validated_at": "2026-10-13T14:10:00Z"
  },
  "settlement": {
    "gross_amount": 5000000,
    "fee_amount": 50000,
    "net_amount": 4950000,
    "currency": "DZD",
    "settled_at": "2026-10-13T14:10:00Z"
  }
}
```

## Incomplete deposits

If the amount received is lower than the amount expected, the collection moves to `deposit_under_review`. The gap stays visible and Broco does not announce a full settlement. Broco resolves the gap with the carrier before the collection can settle.

## Next step

<Card title="Settlement & reconciliation" href="/marketplaces/settlement-and-reconciliation" horizontal>
  How funds become available and how to match them with your orders.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.