Payments

A payment in Novex is money received against an invoice. Payments can be entered by hand (bank transfer, cash, cheque) or collected online through the Moyasar card gateway. Each payment is reconciled to a single invoice, updates the invoice balance, and is fully audit-logged.

Record a manual payment

Use this when the client paid outside Novex — a bank transfer, cash at the desk, or a cheque.

  1. Open an ISSUED invoice.
  2. Click + Record payment.
  3. Enter the amount, date, method, and a reference (bank transfer ID, cheque number, or terminal slip).
  4. Save.

The invoice balance and status update live. Recording a payment that covers the full balance flips the invoice to PAID; a partial payment flips it to PARTIALLY_PAID. Multiple partial payments against one invoice are supported.

You can edit or delete a recorded payment from the payment-history timeline on the invoice; every change is audit-logged with before/after values.

Payment methods

MethodUse for
BANK_TRANSFERWire / SWIFT / local transfer. Store the transfer reference.
MADASaudi domestic debit network (via Moyasar or terminal).
CREDIT_CARDVisa / Mastercard, online or terminal.
APPLE_PAYApple Pay through Moyasar hosted checkout.
STC_PAYSTC Pay wallet (KSA).
CASHCash received at the venue or office.
CHEQUERecord the cheque number in the reference field.
OTHERAnything not listed — describe it in the reference.

Collect online with Moyasar

Moyasar is Novex’s card gateway for Saudi tenants. Connect it once under Settings → Connectors → Moyasar with your Moyasar publishable and secret keys. Once connected, two online flows become available.

Hosted checkout

For an invoice the client is viewing, Novex can render a Moyasar-hosted card form. The client enters their card (or chooses Apple Pay / mada), Moyasar processes the charge, and Novex records a CREDIT_CARD / MADA / APPLE_PAY payment automatically once the gateway confirms success.

  1. Open an ISSUED invoice.
  2. Choose Send payment link (available when Moyasar is connected).
  3. Novex emails the client a tenant-scoped link to a hosted payment page for the exact invoice balance.
  4. When the client pays, the webhook (below) reconciles the payment and the invoice status updates with no manual entry.

Use pay-by-link when the client is remote and you want a single tap-to-pay URL rather than chasing a bank transfer.

Webhooks and reconciliation

Moyasar notifies Novex of payment outcomes through a signed webhook. Novex verifies the signature, matches the event to the originating invoice, and:

  • On paid — creates the payment record and advances the invoice status.
  • On failed / refunded — leaves the invoice balance unchanged and logs the outcome for follow-up.

Reconciliation is idempotent: a webhook delivered twice records the payment only once. If a client pays online but the webhook is delayed, the payment appears as soon as the event arrives — you do not need to record it manually.

Tips and limits

  • Online card collection requires a connected Moyasar account; without it, only manual methods are available.
  • Currency follows the invoice — SAR for KSA card payments, USD (or your tenant default) elsewhere.
  • A payment cannot exceed the outstanding invoice balance.
  • Refunds are recorded against the original payment, not as a new charge.

Next