> 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.

# 23 · Prevalorada

Tarjetas y pines con crédito fiscal. Regla única: **exactamente una línea** (más
de una → `400`). Sin campos sectoriales.

## Cabecera (`data`)

`data: {}` — sin campos sectoriales.

## Detalle (`items[].data`)

Una sola línea, sin campos sectoriales.

#### SDK TypeScript

```typescript
// UNA sola línea: dos líneas responden 400
const factura = await supay.invoices.emit({
  point_of_sale_id: pos.id,
  customer: {
    document_type: "ci",
    document_number: "7788990",
    name: "Cliente Prepago",
  },
  items: [
    {
      sku: "TARJ-50",
      description: "Tarjeta Bs 50",
      codigo_producto_sin: 5412100,
      unidad_medida: 58,
      quantity: 1,
      price: 50,
    },
  ],
  sector: "23",
});
```

#### REST API

```bash
curl -s -X POST "$BASE/v1/invoices/emit" \
  -H "X-API-Key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "point_of_sale_id": "'$POS'",
    "customer": {
      "document_type": "ci",
      "document_number": "7788990",
      "name": "Cliente Prepago"
    },
    "items": [
      {
        "sku": "TARJ-50",
        "description": "Tarjeta Bs 50",
        "codigo_producto_sin": 5412100,
        "unidad_medida": 58,
        "quantity": 1,
        "price": 50
      }
    ],
    "sector": "23"
  }' | jq '{id, status}'
```

## Errores típicos

| Situación        | Respuesta              |
| ---------------- | ---------------------- |
| Más de una línea | `400 VALIDATION_ERROR` |