Skip to main content
Authorization codes are 6-digit, single-use codes generated by a manager in the Fire backoffice. The POS uses them to complete sensitive operations that need manager approval. They are different from terminal linking codes. A linking code registers a device. An authorization code approves an operational action such as closing a register with a shortage or performing a cash withdrawal.

When a code is required

FIRE POS V2 can request an authorization code for operations such as:
  • Closing a register with a cash shortage.
  • Correcting a declared cash amount during register close.
  • Performing a cash withdrawal.
  • Cancelling a completed order from the POS.
  • Unlocking or forcing administrative actions, depending on store policy.
The exact requirement depends on the action and the store configuration. By default, any shortage at register close requires manager authorization.

Who generates the code

Only a manager with backoffice access and scope over the store can generate an authorization code. The manager generates the code from the backoffice:
  • POS → Authorization codes: the manager selects the purpose, writes the reason and sets the duration, then generates a 6-digit code.
The cashier should not choose the reason or amount for manager-controlled operations. The manager chooses the purpose in backoffice, enters the reason and generates the code.

1. The cashier starts the operation

At the POS, the cashier starts an operation that requires approval. For example, they try to close a register with a shortage. The POS asks for the cashier PIN again when the operation is sensitive. This confirms that the active cashier is still the person executing the action.

2. The POS asks for a code

When manager approval is needed, the POS shows a screen asking for the manager code. The cashier informs the manager verbally or through the store’s normal communication channel.
POS screen waiting for a manager authorization code

3. The manager opens Authorization codes

In the backoffice, the manager opens POS → Authorization codes to generate the code. They select the purpose that matches the operation, write the reason and choose the code duration.
Authorization-code generation section in the Fire backoffice
The purpose binds the code to a specific operation, such as closing a register with a shortage, a cash withdrawal or an order cancellation.

4. The manager enters the reason and generates the code

The manager completes the required fields, such as reason, amount or category depending on the request, and clicks Generate code. The backoffice shows a 6-digit code. The code is short-lived and bound to the request purpose and constraints.
Generated 6-digit authorization code in the backoffice

5. The cashier enters the code in the POS

The manager dictates the code to the cashier. The cashier enters the 6 digits in the POS authorization-code field. If the code is valid, the POS completes the operation and the backend records the consumed code in the audit trail.
Authorization code entered in the POS
If the code is expired, already used or out of scope, the POS rejects it. The manager can generate another code if the operation still needs approval.

Close register with shortage

During blind register close, the cashier declares the counted cash without seeing the expected cash amount. If the declaration is lower than expected, the POS asks for a manager code. The manager opens Authorization codes, writes the reason and generates a code with purpose pos:close_with_shortage bound to that register session. The cashier enters the code and closes the register. The exact shortage is visible to the manager and audit records, not to the cashier during the flow.
Generating an authorization code for a shortage close in the backoffice

Cash withdrawal

For a withdrawal, the cashier requests approval from the POS. The manager opens Authorization codes, enters the amount, reason and category, and generates a code with purpose pos:withdrawal_approval. The cashier enters the code in the POS. When the backend validates it, the withdrawal is recorded, the drawer opens and a digital voucher is created.
Generating a cash-withdrawal authorization code in the backoffice
The Withdraw cash menu item may be disabled in some environments while the feature is being rolled out. When disabled, managers can still see the authorization-code model in backoffice, but cashiers cannot execute the withdrawal flow from the POS.

Cancel an order

A cashier can cancel a completed order from the POS within a 30-minute window. Cancellation issues a credit note, so it always needs manager authorization. The manager generates a code with purpose pos:cancel_order_access. Unlike the codes above, this one unlocks a cancellation session: once the cashier enters a valid code, they can cancel more than one order without requesting a new code.
Generating an order-cancellation authorization code in the backoffice
For the full operator flow — order list, the 30-minute window and confirmation — see Cancellations.

Security rules

Authorization codes in FIRE POS V2 follow these rules:
  • They have 6 digits.
  • They are consumed once. For most actions a code authorizes a single operation; for order cancellation that one use opens a cancellation session in which the cashier can cancel more than one order.
  • They expire quickly.
  • They are generated for a specific purpose, such as pos:close_with_shortage, pos:withdrawal_approval or pos:cancel_order_access.
  • They can include constraints such as target register session, target cashier or maximum amount.
  • They are recorded in audit logs when generated, failed or consumed.
A valid code only authorizes the action it was generated for. A withdrawal code cannot be reused to close a register, and a code for one register session cannot approve another session.

Troubleshooting

If the POS rejects the code, check the most common causes:
  • The code expired.
  • The code was already used.
  • The code was typed incorrectly.
  • The manager generated it for a different purpose.
  • The code was generated for another register session, cashier or amount.
Generate a new code from Authorization codes when the operation still needs approval.