# Cómo funciona Invoicing

Conoce las etapas del ciclo de vida de las facturas.

Las facturas proporcionan una lista detallada de los bienes y servicios prestados, que incluye el costo, la cantidad y los impuestos. Puede enviar facturas a sus clientes para cobrar el pago o puede crear una factura y cobrar automáticamente con el método de pago guardado de un cliente.

*Las suscripciones* generan automáticamente facturas para cada ciclo de facturación. Obtenga más información sobre el [ciclo de vida de la factura para suscripciones](https://docs.stripe.com/billing/invoices/subscription.md#sub-invoice-lifecycle).

Cuando creas una factura, puedes seleccionar un [cliente](https://docs.stripe.com/invoicing/customer.md) y un [producto](https://docs.stripe.com/invoicing/products-prices.md) existentes o crear y guardar otros nuevos. También puedes crear productos por única vez que solo existan en la factura actual.

Puedes usar tanto el [Dashboard](https://docs.stripe.com/invoicing/dashboard.md) como la [API](https://docs.stripe.com/api/invoices.md) para crear, editar y administrar facturas.

## Ciclo de vida de una factura

Después de crearlas manualmente o como parte de una suscripción, las facturas pasan por una serie de estados a medida que se crean y procesan. Stripe denomina este proceso «flujo de trabajo de cobro automático».

El ciclo de vida básico de las facturas se ve así:

1. Una factura recién creada tiene estado de`draft`.
1. Stripe [finaliza una factura](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized) cuando está lista para pagarse cambiando su estado a `open`. Ya no puedes cambiar la mayoría de los detalles de una factura finalizada.
1. Stripe puede esperar a que el cliente pague la factura o intentar pagarla automáticamente utilizando el método de pago predeterminado del cliente.
   - Si el pago se efectúa correctamente, Stripe actualiza el estado de la factura a `paid`.
   - Si el pago falla o la factura no se paga en su totalidad, la factura permanece `open`.
1. Opcionalmente, puedes cambiar el estado de una factura no pagada a `void` o `uncollectible`.
1. También puedes volver a cambiar el estado de una factura pagada a abierto [desaplicando los pagos](https://docs.stripe.com/invoicing/apply-payments.md) asignados a ella.

Puedes [configurar Stripe para enviar correos electrónicos a los clientes](https://docs.stripe.com/invoicing/send-email.md) en diferentes etapas del ciclo de vida de la factura, como cuando finaliza una factura o cuando falla el pago automático.

## Estados de las facturas

Las facturas pueden tener uno de los siguientes estados. Las acciones que puedes realizar en una factura dependen de su estado.

| Estado                                                                    | Descripción                                                                                                            | Acciones posibles                                                                                                                                                                                                                                                                                                                                                                              |
| ------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [borrador](https://docs.stripe.com/invoicing/overview.md#draft)           | La factura no está lista para usar. Todas las facturas comienzan en estado `draft`.                                    | - Edita cualquier parte de la factura.
  - Cuando la factura esté lista para usar, finalízala cambiando su estado a `open`.
  - Si la factura no está asociada con una suscripción, [elimínala](https://docs.stripe.com/invoicing/overview.md#deleted).                                                                                                                                        |
| [abierta](https://docs.stripe.com/invoicing/overview.md#open)             | La factura está finalizada y se espera su pago.                                                                        | - Enviar la factura a un cliente para su pago.
  - Modifica [solo algunos elementos de la factura](https://docs.stripe.com/invoicing/invoice-edits.md). Para realizar cambios más sustanciales, crea una factura nueva y anula la antigua.
  - Cambia el estado de la factura a `paid`, `void` o `uncollectible`.
  - [Editar](https://docs.stripe.com/invoicing/invoice-edits.md) la factura. |
| [pagada](https://docs.stripe.com/invoicing/overview.md#paid)              | Esta factura está paga.                                                                                                | - Cambiar el estado de la factura a `abierto`.
  - Separar los pagos de una factura.                                                                                                                                                                                                                                                                                                           |
| [anulada](https://docs.stripe.com/invoicing/overview.md#void)             | Esta factura se canceló.                                                                                               | - No hay más acciones.                                                                                                                                                                                                                                                                                                                                                                         |
| [incobrable](https://docs.stripe.com/invoicing/overview.md#uncollectible) | Es improbable que el cliente pague la factura. Normalmente, se trata como una deuda incobrable en el proceso contable. | - Cambia el estado de la factura a `void` o `paid`.                                                                                                                                                                                                                                                                                                                                            |

### Facturas en borrador

Puedes actualizar casi cualquier detalle de una factura `draft`. También puedes eliminarla, a menos que esté asociada a una suscripción. Cuando una factura `draft` está lista para enviarse para su pago, la finalizas cambiando su estado a `open`.

Puedes eliminar una factura `draft`. No puedes recuperar una factura eliminada.

#### Dashboard

1. Ve a la [página de Facturas](https://dashboard.stripe.com/test/invoices).

1. Haz clic en el menú de contenido adicional (⋯) junto a la factura.

1. Haz clic en **Eliminar borrador**.

#### API

Si eliminas una factura con la API y has configurado puntos de conexión de [webhooks](https://docs.stripe.com/webhooks.md), Stripe envía un evento `invoice.deleted`.

```curl
curl -X DELETE https://api.stripe.com/v1/invoices/id \
  -u "<<YOUR_SECRET_KEY>>:"
```

### Facturas abiertas

La factura se finalizó y todavía tiene un saldo restante. Si el importe adeudado es inferior al [importe mínimo sujeto a un cargo](https://docs.stripe.com/currencies.md#minimum-and-maximum-charge-amounts), la factura pasa automáticamente al estado `paid` y Stripe debita el importe del [saldo acreedor del cliente](https://docs.stripe.com/billing/customer/balance.md).

En el Dashboard, las facturas en estado `open` pueden mostrar una insignia diferente, como `Past due` o `Retrying`. En algunos casos, puedes pasar el cursor sobre la insignia para ver una explicación.

Si una factura abierta que no es de suscripción está esperando un pago iniciado pero aún pendiente, muestra la insignia `Pending` en la lista de facturas. Sin embargo, su página de detalles muestra la insignia `Open`.

Puedes actualizar solo algunos elementos de una factura abierta, como la nota o los metadatos. Para realizar cambios más sustanciales, debes [revisar la factura](https://docs.stripe.com/invoicing/invoice-edits.md) reemplazándola por una nueva.

No puedes eliminar una factura finalizada. Para cancelarla, cambia su estado a `void`.

### Facturas pagadas

El cliente pagó la factura. Este estado es terminal, lo que significa que el estado de la factura nunca puede cambiar.

#### Dashboard

Para intentar un pago a través del Dashboard, abre la [página de datos de la factura](https://docs.stripe.com/invoicing/dashboard/manage-invoices.md#invoice-details-page) y haz click en **Cobrar al cliente**.

#### API

El siguiente ejemplo muestra cómo pasar una factura al estado `paid` utilizando el punto de conexión [Pay](https://docs.stripe.com/api/invoices/pay.md). Si configuraste puntos de conexión de [webhooks](https://docs.stripe.com/webhooks.md), recibirás un evento `invoice.payment_failed` o `invoice.paid`, según el resultado del intento de pago.

```curl
curl -X POST https://api.stripe.com/v1/invoices/id/pay \
  -u "<<YOUR_SECRET_KEY>>:"
```

Recibes el evento `invoice.payment_succeeded` solo cuando se crea un PaymentIntent relacionado con una factura y se completa correctamente. Stripe envía el evento `invoice.paid` cuando una factura pasa a `paid`. Una factura puede pasar a `paid` sin que un PaymentIntent asociado se complete correctamente si sucede lo siguiente:

- Se relaciona con una prueba o una suscripción gratuita
- Tiene un `amount_due` cubierto por un [saldo acreedor del cliente](https://docs.stripe.com/billing/customer/balance.md) o que está por debajo del [importe mínimo del cargo](https://docs.stripe.com/currencies.md#minimum-and-maximum-charge-amounts)
- Está marcado como [paid_out_of_band](https://docs.stripe.com/api/invoices/pay.md#pay_invoice-paid_out_of_band)

En estos casos, recibirás el evento `invoice.paid` y no el evento `invoice.payment_succeeded`.

#### Facturas fuera de banda

Si un cliente paga una factura fuera de banda (fuera de Stripe), puedes cambiar manualmente el [estado](https://docs.stripe.com/invoicing/overview.md#invoice-statuses) a `paid` mediante el Dashboard o la API.

#### Dashboard

Puedes marcar manualmente una factura abierta como pagada en el Dashboard. En la página de detalles de la factura, haz clic en el menú de de contenido adicional (⋯) y selecciona **Cambiar el estado de la factura**. En este cuadro de diálogo, selecciona **Pagado**.

#### API

Para marcar manualmente una factura abierta como pagada en la API, usa el parámetro [paid_out_of_band](https://docs.stripe.com/api/invoices/pay.md#pay_invoice-paid_out_of_band) cuando envíes una solicitud al punto de conexión [Pay](https://docs.stripe.com/api/invoices/pay.md).

### Anular facturas

Conceptualmente, anular una factura es similar a eliminarla o cancelarla. Sin embargo, si se anula una factura, se mantiene un registro en papel, que te permite buscar la factura por número. Las facturas anuladas se tratan como facturas con valor de cero a efectos de informes y no son pagaderas. Este estado es terminal, lo que significa que el estado de la factura nunca puede cambiar.

Después de anular una factura, la [página de facturas alojadas](https://docs.stripe.com/invoicing/hosted-invoice-page.md) sigue siendo accesible y muestra un mensaje que indica que la factura se ha anulado. Solo puedes anular una factura en estado `open` o `uncollectible`.

> Consulta la normativa local para determinar si una factura podría modificarse, cancelarse o anularse en la jurisdicción en la que desarrollas tu negocio. Es posible que, en su lugar, debas [emitir otra factura](https://docs.stripe.com/invoicing/integration.md#create-invoice-code) o [nota de crédito](https://docs.stripe.com/invoicing/integration/programmatic-credit-notes.md). Stripe te recomienda que le preguntes a tu asesor legal para obtener asesoramiento específico sobre tu empresa.

#### Dashboard

Para anular una factura desde el Dashboard:

1. Ve a la página **Datos de la factura**.

1. Haz clic en el menú de contenido adicional (⋯) y selecciona **Cambiar el estado de la factura**.

1. En el diálogo que aparece, selecciona **Anular**.

#### API

Para anular una factura desde la API:

```curl
curl -X POST https://api.stripe.com/v1/invoices/id/void \
  -u "<<YOUR_SECRET_KEY>>:"
```

Si configuraste puntos de conexión de [webhooks](https://docs.stripe.com/webhooks.md), recibirás un evento `invoice.voided` cuando el estado de la factura cambie a `void`.

### Facturas incobrables

A veces tus clientes no pueden pagar sus facturas pendientes. Supongamos que prestas servicios a un cliente por un valor de USD 1000, pero este ha declarado la quiebra y no tiene activos para pagar la factura.

En consecuencia, decides dar de baja la factura, ya que es poco probable que se pague. En este caso, puedes actualizar el estado de la factura a `uncollectible`. Esto te permite hacer el seguimiento del importe adeudado para fines informativos, como parte del proceso contable de las deudas incobrables.

#### Dashboard

Puedes marcar una factura abierta como incobrable en el Dashboard. En la página de detalles de la factura, haz clic en el menú de contenido adicional (⋯) y selecciona **Cambiar el estado de la factura**. En el cuadro de diálogo **Cambiar el estado de la factura **, selecciona **Incobrable**.

#### API

Para marcar una factura abierta como incobrable usando la API, usa el punto de conexión [Marcar como incobrable](https://docs.stripe.com/api/invoices/mark_uncollectible.md) como se muestra en el siguiente ejemplo:

```curl
curl -X POST https://api.stripe.com/v1/invoices/id/mark_uncollectible \
  -u "<<YOUR_SECRET_KEY>>:"
```

Si configuraste puntos de conexión de [webhooks](https://docs.stripe.com/webhooks.md), recibirás un evento `invoice.marked_uncollectible` cuando el estado de la factura cambie a `uncollectible`.

## See also

- [Usar el Dashboard](https://docs.stripe.com/invoicing/dashboard.md)
- [Hacer la integración con la API](https://docs.stripe.com/invoicing/integration.md)
- [Transiciones de estado y finalización](https://docs.stripe.com/invoicing/integration/workflow-transitions.md)
