Facturas

Anular factura

Cambia el estado de una factura a "Anulada" y revierte sus efectos en inventario y caja.

Autenticación requerida: Este endpoint requiere autenticación Bearer Token. Usar el campo tokenCurrent obtenido del servicio de login (/login) en el header: Authorization: Bearer {tokenCurrent}

Requisitos:

  • Requiere caja registradora activa
  • El usuario debe tener el permiso de anular facturas (IE_POST_CANCELED)
  • La factura debe estar en un estado que permita anulación

Efectos de la anulación:

  • Revierte el movimiento en la caja registradora
  • Restaura el inventario de productos
  • Para facturas electrónicas, inicia proceso de anulación ante la DIAN
  • Notifica al sistema contable integrado (Siigo/Loggro)

Ejemplos de Uso

Anular factura con motivo

{
  "reason": "Error en los productos facturados"
}
post/invoices/{id}/changeToCanceled

Request

  • Base URL
    https://api.pirpos.com
  • URL
    https://api.pirpos.com/invoices/{id}/changeToCanceled
  • Auth
    HTTP bearer

Path parameters

idstring required

ID de la factura a anular

Request body

reasonstring

Motivo de anulación

Example request

{
  "reason": "Error en los productos facturados"
}

Response

Factura anulada exitosamente

_idstring

ID único de la factura

businessIdstring

ID del negocio al que pertenece la factura

numberstring

Número de la factura

invoicePrefixstring

Prefijo de la factura

seqnumber

Número secuencial de la factura

totalnumber

Total de la factura

totalPaidnumber

Total pagado

status'Pendiente' | 'Pagada' | 'Anulada'

Estado de la factura

type'Normal' | 'FacturaElectronica'

Tipo de factura

deliveryCostnumber

Costo de entrega

createdOnstring date-time

Fecha de creación

modifiedOnstring date-time

Fecha de última modificación

Example response

{
  "_id": "507f1f77bcf86cd799439011",
  "businessId": "507f1f77bcf86cd799439012",
  "business": {
    "name": "Restaurante El Buen Sabor",
    "nit": "123456789-1",
    "address": "Calle 123 #45-67"
  },
  "number": "FAC-001",
  "invoicePrefix": "FAC",
  "seq": 1,
  "products": [
    {
      "name": "Hamburguesa Clásica",
      "quantity": 2,
      "price": 15000
    }
  ],
  "total": 35000,
  "totalPaid": 35000,
  "status": "Pagada",
  "type": "Normal",
  "table": {
    "name": "Mesa 5"
  },
  "client": {
    "name": "Juan Pérez",
    "phone": "+57 300 123 4567"
  },
  "cashier": {
    "name": "María González"
  },
  "paid": {
    "paymentMethodValue": {
      "paymentMethod": "Efectivo"
    }
  },
  "eInvoice": {
    "DIAN": {
      "dianState": "00"
    }
  },
  "externalIntegration": {
    "siigo": {
      "statusCode": 200
    },
    "loggro": {
      "statusCode": 200
    }
  },
  "createdOn": "2025-08-05T10:30:00.000Z",
  "modifiedOn": "2025-08-05T10:30:00.000Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.