> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.supay.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.supay.dev/_mcp/server.

# Enviar compras

Informa tus compras al SIAT por lote comprimido (recepción de compras). Es el
flujo inverso a emitir: aquí reportas lo que **compraste**.

| Campo                 | Tipo   | Obligatorio | Qué significa             |
| --------------------- | ------ | ----------- | ------------------------- |
| `descripcion`         | string | Ver perfil  | Descripción del lote      |
| `tipoCompra`          | int    | Ver perfil  | Tipo de compra SIAT       |
| `archivo`             | string | Ver perfil  | Lote comprimido (base64)  |
| `hashArchivo`         | string | Ver perfil  | SHA del archivo           |
| `cantidadFacturas`    | int    | Ver perfil  | Facturas del lote         |
| `gestion` / `periodo` | int    | Ver perfil  | Gestión y periodo         |
| `fechaEnvio`          | fecha  | Ver perfil  | Fecha de envío (ISO 8601) |

#### SDK TypeScript

```typescript
const res = await supay.siat.sendPurchases({
  pointOfSaleId: pos.id,
  descripcion: "Compras octubre",
  tipoCompra: 1,
  archivo: "<lote-comprimido-base64>",
  hashArchivo: "<sha256>",
  cantidadFacturas: 25,
  gestion: 2026,
  periodo: 10,
  fechaEnvio: "2026-10-05T00:00:00Z",
});
```

#### REST API

```bash
curl -s -X POST "$BASE/v1/siat/compras/$POS" \
  -H "X-API-Key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "descripcion": "Compras octubre",
    "tipoCompra": 1,
    "archivo": "<lote-comprimido-base64>",
    "hashArchivo": "<sha256>",
    "cantidadFacturas": 25,
    "gestion": 2026,
    "periodo": 10
  }'
```

Siguiente: [Firmar XML](/operaciones-siat/firmar-xml) · [Sincronización](/operaciones-siat/sincronizacion-de-catalogos).