Tenavora Unified Platform
Skip to content
Tenavora Team 3 min read

Dynamic QRIS at the Cashier: vs Static QRIS & Auto-Settle

The difference between static and dynamic QRIS, the webhook 'auto-paid' flow at the cashier, and daily reconciliation tips so QRIS deposits always match sales.

QRIS has become the default way to pay in Indonesia. But there are two kinds of QRIS that often get confused, and the difference strongly affects how smoothly your checkout runs: static QRIS and dynamic QRIS. Choose wrong and your cashier gets slow and end-of-day reconciliation gets messy.

This article explains the difference between static and dynamic QRIS, how the “auto-paid” flow works via a webhook at the cashier, and daily reconciliation tips so your QRIS deposits always match sales.

Static QRIS vs dynamic QRIS

Static QRIS is a single fixed QR — usually printed and taped to the counter. The customer scans, then types in the amount to pay themselves. The weaknesses:

  • Prone to wrong amounts. The customer can mistype (under or over), and the cashier has to verify manually.
  • Not recorded automatically. The cashier doesn’t know the payment arrived unless they check a phone/bank notification separately.
  • Manual reconciliation. Matching deposits to transactions becomes extra work.

Dynamic QRIS is a QR generated specifically for each transaction, already containing the exact amount. The customer just scans and confirms — no typing numbers. And most importantly: the “paid” status arrives automatically at the cashier the moment payment succeeds, with no manual confirmation.

For a business with a queue, dynamic QRIS clearly wins: faster, no wrong amounts, and recorded automatically.

The “auto-paid” flow via webhook

What makes dynamic QRIS feel magical is the webhook. Here’s how it works at a modern cashier:

  1. The cashier creates the charge. The system requests a QR from the payment gateway (e.g. via a Core API) for that transaction’s amount.
  2. The QR appears on the cashier screen. The customer scans with their bank/e-wallet app.
  3. The customer pays. The amount is pre-filled — just confirm.
  4. The gateway sends a webhook. As soon as payment succeeds, the gateway sends a notification (webhook) to the cashier system.
  5. The cashier auto-marks it paid and deducts stock. The transaction completes without the cashier checking a phone or waiting.

For this flow to work, the webhook must be registered in your payment gateway’s dashboard — entering the webhook URL the cashier system provides. Set once, automatic thereafter.

Quick setup in Tenavora

In Tenavora, dynamic QRIS at the cashier is live end-to-end. To activate it:

  1. Open POS → Tax & payments.
  2. Connect your Midtrans account: enter the Server Key + Client Key (stored encrypted; the server key is never shown again).
  3. Check Enable QRIS at the cashier.
  4. Copy the Webhook URL from the Webhook card, then register it in your Midtrans dashboard so the “paid” status arrives automatically at the cashier.

Keep in mind: QRIS needs an internet connection because the paid confirmation comes via the webhook. When offline, the cashier automatically falls back to cash/EDC, then QRIS re-enables once online — the queue never stops.

Daily reconciliation tips

Reconciliation means matching money in with recorded sales. With dynamic QRIS + auto-paid, this is far easier — but stay disciplined:

  • Match per payment method. At day’s end, compare total QRIS in the system with QRIS deposits in the account/gateway. Because every QRIS transaction is recorded automatically with the exact amount, the difference should be zero.
  • Watch for “hanging” payments. If a QR was created but the customer canceled paying, that transaction won’t be marked paid — make sure it isn’t counted as a sale.
  • Use the automatic daily report. A sales report that separates cash/QRIS/card turns reconciliation into comparing numbers, not recomputing them.
  • Check connection status during rushes. Because QRIS needs to be online, ensure a stable connection at peak hours; if it drops, the system switches to cash/EDC and the cashier keeps running.

Conclusion

Dynamic QRIS beats static QRIS for a business with a queue: the amount is pre-filled, no mistyping, and the paid status arrives on its own via webhook — while deducting stock and recording the transaction. Add a daily report that separates payment methods, and end-of-day reconciliation turns from extra work into simply comparing numbers.

Want dynamic QRIS with auto-paid at your cashier? Explore the Tenavora F&B solution or start free for 30 days, no credit card required.