---
title: "Convertir ticket en factura"
method: POST
path: "/sale-tickets/convert/invoice"
tags: ["Tickets de venta"]
---

# Convertir ticket en factura

`POST /sale-tickets/convert/invoice`

## Request

- Base URL: `https://api.alegra.com/api/v1`
- URL: `https://api.alegra.com/api/v1/sale-tickets/convert/invoice`
- Auth: HTTP basic

Endpoint que permite convertir un ticket en factura.

## Request body

- ConvertInvoice
  - `idSaleTicket` string, required: Identificador del ticket de venta que se desea convertir a factura.
  - `date` string, date, required: Fecha de la factura. Formato yyyy-MM-dd.
  - `dueDate` string, date, required: Fecha de vencimiento de la factura. Formato yyyy-MM-dd.
  - `datetime` string, date-time: Fecha y hora de la factura. Formato yyyy-MM-dd HH:mm:ss.
  - `priceList` integer: Lista de precios de la factura.
  - `warehouse` integer: Almacén de la factura.
  - `costCenter` integer: Centro de costos de la factura.
  - `numberTemplate` object: Plantilla de número de la factura.
    - `id` string: Identificador de la plantilla de número de la factura.
    - `number` integer: Número de la factura.
    - `prefix` string: Prefijo de la factura.
    - `text` string: Texto de la factura.
  - `client` object, required: Objecto que contiene el id del cliente asociado a la factura. Se puede enviar directamente el id del cliente en este atributo.
    - `id` string: Identificador del cliente
  - `items` object[], required: Items de la factura.
    - `id` string: Identificador del item.
    - `price` number: Precio del item.
    - `quantity` integer: Cantidad del item.
    - `reference` string: Referencia del item.
    - `description` string: Descripción del item.
  - `stampVersion` string: Versión del timbrado de la factura.
  - `regime` string: Régimen de actividades
  - `termsAndConditions` string: Términos y condiciones de la factura.
  - `anotation` string: Notas de la factura.
  - `status` 'openl' | 'draft': Estado de la factura.
  - `paymentMethod` string: Para México, requerido, representa la forma de pago de la factura. Las opciones posibles son: `cash` Efectivo, `debit-cardv` Tarjeta de débito, `credit-card` Tarjeta de crédito, `service-card` Tarjeta de servicios, `transfer` Transferencia electrónica de fondos, `check` Cheque nominativo, `electronic-wallet` Monedero electrónico, `electronic-money` Dinero electrónico, `grocery-voucher` Vale de despensa, `dation-payment` Dación en pago, `subrogation-payment` Pago por subrogación, `allocation-payment` Pago por consignación, `forgiveness` Condonación, `compensation` Compensación, `novation` Novación, `misunderstanding` Confusión, `debt-remission` Remisión de deuda, `prescription-or-expiration` Prescripción o caducidad, `creditor-satisfaction` A satisfacción del acreedor. Si el paymentType es "PPD" solo admite el paymentMethod other Por Definir.
  - `accountNumber` string: Para México, representa el número de cuenta o tarjeta de pago. Debe tener mínimo 4 caracteres.
  - `cfdiUse` string: Para México, representa la clave del Uso CFDI.Puedes consultar las opciones disponibles [aquí](https://developer.alegra.com/docs/m%C3%A9xico).
  - `stamp` object: Para México, el objeto stamp indica que se desea timbrar la factura electrónica en Alegra o que se está ingresando una factura que ya contiene timbre. Si se desea timbrar la factura en Alegra, se debe mandar este objeto con los siguientes atributos : `generateStamp (boolean)` : Enviar en true para indicar que se desea timbrar la factura en la aplicación. Se debe tener en cuenta que la compañía debe tener configurada la información del certificado y llave privada para timbrar la factura correctamente. Nota: Se debe tener en cuenta que si se desea timbrar una factura por medio de la API y el proceso no resulta exitoso, la aplicación crea la factura en estado borrador, retorna un código HTTP 400 (Request malo) y en la respuesta se envía el error obtenido al intentar timbrar la factura junto con la factura creada. En el ejemplo "México -Proceso timbre no exitoso" se puede observar esta situación. `version (string)`: Indica la versión del CFDI con la que se timbrará la factura, solo aplica cuando `generateStamp` sea `true`. los unicos valores disponibles son `4.0` o `3.3`, en caso de no enviar este dato se genera con la versión 3.3. Si la factura se encuentra timbrada con otro sistema se debe enviar una objeto con los siguientes atributos: `stampDate (string)`: Fecha de timbre de la factura (Formato yyyy-MM-ddThh:mm:ss). `uuid (string)`: UUID asociado al timbre . `satSeal (string)`: Sello del sat. `satCertificateNumber (string)`: Número de certificado del SAT. `cfdSeal (string)`: Sello del CFD. `expeditionPlace (string)` : Lugar de expedición. `datetime (string)` : Fecha y hora de creación de la factura. (Formato yyyy-MM-dd hh:mm:ss). `certificateNumber (string)` : Número serial del certificado de la compañía usado para timbrar la factura. Los Tickets de venta no admiten este campo.
    - `generateStamp` boolean
  - `paymentType` string: Para México, representa el método de la factura. Admite los valores `PUE` para Pago en Una sola Exhibición y `PPD` para Pago en Parcialidades o Diferido.
  - `regimeClient` string: Para México, representa la clave del régimen fiscal del cliente requerido solo cuando la versión del CFDI sea `4.0`. Puedes consultar las opciones disponibles [aquí](https://developer.alegra.com/docs/m%C3%A9xico).

## Response `200`

Ticket de venta convertido a factura

## Other responses

- `404`: Ticket de venta no encontrado

## Changes

- **2026-11-03** `db2f72066f99`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/alegra/apis/ingresos/changes/sale-tickets/convert/invoice/post.md)

---

[API](https://skmtc.dev/alegra/apis/ingresos.md) - [All operations](https://skmtc.dev/alegra/apis/ingresos/llms.txt) - [OpenAPI document](https://skmtc.dev/alegra/apis/ingresos/revisions/db2f72066f99?raw)
