Invoice webhook events

invoice:create

Description: Triggered when a new invoice is created.

Payload Structure:

{
  event: 'invoice:create',
  status: 'success' | 'error' | 'pending',
  data: Invoice
}

invoice:update

Description: Triggered when an existing invoice is edited or updated.

Payload Structure:

{
  event: 'invoice:update';
  status: 'success' | 'error' | 'pending';
  data: Invoice;
}

invoice:delete

Description: Triggered when an invoice is deleted from the system.

Payload Structure:

{
  event: 'invoice:delete',
  status: 'success' | 'error' | 'pending',
  data: Invoice
}

invoice:status_changed

Description: Triggered when an invoice's status changes (e.g., from pending to paid, or to overdue).

Payload Structure:

{
  event: 'invoice:status_changed',
  status: 'success' | 'error' | 'pending',
  data: Invoice
}

invoice:procurement_added

Description: Triggered when a procurement item (product, service, or product varier) is added to an invoice.

Payload Structure:

{
  event: 'invoice:procurement_added',
  status: 'success' | 'error' | 'pending',
  data: InvoiceProcurement
}

invoice:procurement_updated

Description: Triggered when a procurement item on an invoice is updated (quantity, price, tax, description, etc.).

Payload Structure:

{
  event: 'invoice:procurement_updated',
  status: 'success' | 'error' | 'pending',
  data: InvoiceProcurement
}

invoice:procurement_removed

Description: Triggered when a procurement item is removed from an invoice.

Payload Structure:

{
  event: 'invoice:procurement_removed',
  status: 'success' | 'error' | 'pending',
  data: {
    invoiceNumber: number;  // The invoice number
    procurementId: number;  // ID of the removed procurement item
  }
}