---
url: /docs/payable-boleto-pix.md
description: >-
  Register a boleto, a utility or tax bill, or a PIX code as a payable, then pay
  it with the standard payout flow.
---

Boleto, arrecadação (utility and tax bills) and PIX payables are registered from the code printed on the bill, always in `BRL`. The rail resolves the beneficiary and, for a boleto, the current amount, so you send the code and get a real payable back. To pay one afterwards, see [How to pay one](/docs/payables#how-to-pay-one).

## Boleto

```bash [cURL]
curl --request POST \
  --url https://api.blindpay.com/v1/instances/in_000000000000/payables \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "customer_id": "re_000000000000",
  "currency": "BRL",
  "boleto_barcode": "34191790010104351004791020150008191070026000",
  "due_date": "2026-08-25"
}'
```

```js [index.js]
const response = await fetch(
  'https://api.blindpay.com/v1/instances/in_000000000000/payables',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      customer_id: 're_000000000000',
      currency: 'BRL',
      boleto_barcode: '34191790010104351004791020150008191070026000',
      due_date: '2026-08-25',
    }),
  }
)

const payable = await response.json()
```

```json
{
  "id": "pb_000000000000",
  "instance_id": "in_000000000000",
  "customer_id": "re_000000000000",
  "from": null,
  "to": { "legal_name": "ACME ENERGIA LTDA", "tax_id": "12.345.678/0001-90" },
  "currency": "BRL",
  "line_items": [{ "name": "ACME ENERGIA LTDA", "quantity": 1, "price": 26000 }],
  "note": null,
  "discount": 0,
  "taxes": 0,
  "bank_account_id": null,
  "boleto_barcode": "34191790010104351004791020150008191070026000",
  "pix_qrcode": null,
  "due_date": "2026-08-25",
  "scheduled_at": null,
  "status": "draft",
  "amount": 26000,
  "created_at": "2026-08-18T12:00:00.000Z",
  "updated_at": "2026-08-18T12:00:00.000Z"
}
```

The code is resolved at registration, so the beneficiary, due date and current `amount` come back real (as a single auto line item). See [Amount semantics](/docs/payables#amount-semantics) for what actually gets charged at payment time.

## PIX

```bash [cURL]
curl --request POST \
  --url https://api.blindpay.com/v1/instances/in_000000000000/payables \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "customer_id": "re_000000000000",
  "currency": "BRL",
  "pix_qrcode": "00020126580014br.gov.bcb.pix0136..."
}'
```

```js [index.js]
const response = await fetch(
  'https://api.blindpay.com/v1/instances/in_000000000000/payables',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      customer_id: 're_000000000000',
      currency: 'BRL',
      pix_qrcode: '00020126580014br.gov.bcb.pix0136...',
    }),
  }
)

const payable = await response.json()
```

The response has the same shape as the boleto one, with `pix_qrcode` set and `boleto_barcode` null. The beneficiary and amount come from the code; a PIX payable has no due date and no document.

## Attach the document

A boleto or invoice payable can store the original file (PDF, JPG, PNG, WEBP or HEIC, up to 5MB). PIX payables cannot: a PIX code has no document, and `document_file` on one is rejected with `payable_document_not_allowed_for_pix`.

Upload the file first with `POST /upload` using bucket `documents`, then pass the returned `file_url` as `document_file` when registering the payable. The URL must be one your instance uploaded (`payable_document_invalid` otherwise). The document cannot be changed after registration.

`document_file` is returned on every payable read and webhook. To download it, call `POST /presign` with the URL to get a one-hour signed link.

## Related

* [Payables](/docs/payables): amount semantics, lifecycle, dedupe and webhooks
* [Invoice payables](/docs/payable-invoice): bills paid to a US bank account
