Priority Manager
Priority Manager
Sign in to continue

Priority Manager

to
ID Date Type Hotel / Room Detail Pay ID Pay Amt Status Remarks
Loading...
Invoices
Loading...
No invoice selected. Click "+ New Invoice" or select one from the list.
🔒
Invoice Details
Customer
Line Items
Details Unit Price QTY Tax Amount
Notes
Totals
Total0.00
Discount 0.00
Tax %
0.00
Grand Total USD 0.00
PAYMENTS
Balance Due0.00

Customers

NameEmailPhoneTINMailing ListBusiness Invoices
Loading...

Tax

A claim can be added here (attached to a Tax Invoice or on its own), from Expenses ("Claim Input Tax"), or from the Input Tax button on a Tax Invoice.
# Supplier Name Supplier TIN Invoice Number Invoice Date Total (excl. GST) GST 8% GST 17% Act. No. Type Invoice Total Total Tax Tax Invoice File
TOTAL
TOTAL
Select a date range and click Run Report.
Loading...
Select a date range and click Run Report.
Select a report type and click Run Report.

Reports

Select a report and click Run Report.

Expenses

# Date Type Category Payee Description Invoice No. Input Amount
TOTAL
Track spending on assets, inventory purchases, and money borrowed from or repaid to owners/lenders. These feed the Balance Sheet and Cash Flow reports, not the P&L.
# Date Category Cash Account Counterparty Description Invoice No. Amount
ID Name TIN Address Email Phone

General

Manage general settings such as timezone and expense categories.

Currency
1 USD =
Additional currency and rate are used in reports for conversion display (e.g. Tax Payable, MIRA GST).
Pre-selected in the "Record Payment" method dropdown, when set.
Sets the default for the "Show Payments" checkbox in the Invoice preview. Users can still toggle it per invoice before printing.
Sets the default for the "Show Contacts" checkbox in the Invoice preview (Customer Email/Phone). Users can still toggle it per invoice before printing.
Outgoing Mail
Where system emails (password resets, Payment Link Paid notifications, test emails) are actually sent from. Doesn't affect Gmail Tool, which always uses its own connected Google account.
Generate this at myaccount.google.com/apppasswords — your regular Gmail password won't work here. Leave blank when saving to keep whatever's already stored.
Payment Methods
Shown in the "Record Payment" dropdown on invoices. Add, rename, delete, or reorder as needed.
Payment Accounts
Choose which account each payment method lands in. Used to build the Cash Position report.
Timezone
New Booking Row Filter
When a new row is added in Bookings, the grid's date filter jumps so the new row is visible. Choose how it should jump.
Default Bookings Search Field
The Bookings search box's field dropdown starts on this option each time the page loads.
Default Customer Options
Starting state of these checkboxes when adding a brand new customer. Editing an existing customer always shows its own saved values.
Invoice Date Restrictions
By default the Invoice Date is today. When auto-filling from a Booking Pay ID, the date follows the selection below.
Invoice Edit
Controls which existing invoices can be edited. New (unsaved) invoices are always editable.
Payments
What happens when a customer pays an invoice through its payment link.
Default Invoice Type
Which type a brand-new invoice starts as. A Tax Invoice still can't be saved until it's fully paid.
Invoice Footer
The footer line printed at the bottom of the invoice (Print / PDF). Set separate text for a Tax Invoice and a Proforma Invoice.
The Subtotal & Tax breakdown is hidden automatically in print when the tax rate is 0% (only the Grand Total shows); it appears whenever tax is applied.
Auto Fill from Detail (Bookings)
Detail text is split by spaces into fragments. For each segment below, choose how to locate it: a fixed position from the start or end, the first fragment starting with a marker (e.g. Qty as "x2"), a keyword match, or the span between two other segments. Feeds the Bookings "Auto Fill" button (Type/Date/Time) and the voucher/invoice-from-booking parser (Ref/Full Name/Qty/Type/Date/Time).
Expense Categories
Classification determines where each category appears on the Profit & Loss statement.
Pre-selected when adding a new Expense.
Deleted Bookings
Permanently erase all bookings currently in the "Deleted records" filter. This cannot be undone.
Deleted Invoices
Permanently erase all invoices currently in the "Deleted Invoices" filter. This cannot be undone.

Voucher Images

Header and footer images printed on all confirmation vouchers.

Header Image
No image uploaded
Footer Image
No image uploaded
Hotel/Room Field Label
Shown on Voucher and Voucher All in place of "HOTEL".

Confirmation Templates

Edit the inclusions printed on confirmation PDFs.

Arrival Confirmation
USE TITLE AS
TITLE TEXT
TITLE IMAGE
No image
INCLUSIONS
FOOTER TEXT
Departure Confirmation
USE TITLE AS
TITLE TEXT
TITLE IMAGE
No image
INCLUSIONS
FOOTER TEXT
Other Confirmation
USE TITLE AS
TITLE TEXT
TITLE IMAGE
No image
INCLUSIONS
FOOTER TEXT

Businesses

Manage businesses. Each has its own logo, tax rate and details.

Main Company
Once set, other businesses are treated as branches/subsidiaries. The Profit & Loss statement lists the Main Company first and uses its letterhead when printed.
Business NameCodeTINCurrencyTax %Input Tax 1%Input Tax 2%
Loading...

User Management

Manage users for your company.

Loading...

Google Drive Integration

Upload invoices as PDF directly to a Google Drive folder using a Service Account.

Service Account JSON Configured
Upload the JSON key file downloaded from Google Cloud Console (IAM → Service Accounts → Keys).
Drive Folder ID (optional)
The folder ID from the Drive URL: drive.google.com/drive/folders/THIS_PART. Leave empty to upload to the service account’s root.
The service account email must be shared on the target folder in Google Drive.

Database Backup

Export all data as a SQL backup, or restore from a previous backup file.

Export
Downloads a complete backup of all businesses, customers, invoices, services and payments.
Import
Restore from a backup file. This will overwrite all existing data.
Remote Backup
Mirrors data into a separate MySQL server (a standalone, independently-queryable copy), configured in api/config.php (BACKUP_REMOTE_DB_* settings). The table list below is read fresh from the database each time, so newly added tables are always picked up. Each table is backed up in its own short request, so large databases can't be killed by a server timeout.
Applied when you run a backup — not stored on the server.

Service Catalogue

Manage your services and prices. Select from this list when creating invoices.

Categories
Loading...
Item Display Name Display Price Category Unit Price (USD) Valid Period Auto Fill Input Tax Vendor ID Vendor Amt Vendor Tax Colour Order Actions
Loading...

Hotels / Rooms

Maintain the list of hotels. Bookings uses the Short Name (still free-text — this just offers matching names as you type); Voucher/Voucher All display the Long Name instead.

Email
Preparing the email...

Gmail Tool

Qty differs between selected cards — check them.
Click Reply on a fetched email to prepare a reply here.
None
Loading templates...
Ignored for replies — Gmail sets those automatically ("Re: ...").
Whose address this template's emails (and reply search) use — the booking's Customer, its Hotel (the email kept in Settings > Hotels), or the email on the booking's Invoice (which can differ from the booking's Customer).
On the Draft Email tab, this template's default button is shown in green.
Optional — this Data segment only applies to a <datasegment> slug when the condition matches (any one of the traced booking(s) is enough). Leave "Field" blank to always apply.
The signature saved in the Gmail Settings tab is added automatically to every draft — no need to include one here.

Booking fields

Click a field to insert it at the cursor (in Content or Subject). Values come from the booking found for the Pay ID (or reference) in the search box.

{{fullname}}, {{firstname}} and {{lastname}} use the name of the Customers record picked on the booking; if no customer is picked, they fall back to the name in the booking Detail. {{reference}} and {{flight}} always come from Detail.

Letter case & format

Add a filter after the field name with |:

{{hotel|upper}}BARCELO NASANDHURA
{{fullname|lower}}shuting wang
{{hotel|title}}Barcelo Nasandhura
{{date|iso}}2026-08-13

Without a filter: names, Type and Status are Title Case, dates look like 13-Aug-2026, everything else is exactly as stored. Filters can be combined: {{date|iso|upper}}.

Arrival / Departure

A Pay ID can have both an arrival and a departure booking. Choose Arrival booking or Departure booking in the selector beside Insert booking field and every field you insert (here or from the dropdown) is read from that booking only — for example {{arrival.date}} and {{departure.date}}. You can also type the prefix yourself: {{departure.hotel|upper}}.

Several bookings

One Pay ID can cover several bookings. Different values are joined with commas in date order (Shuting Wang, Guoxin Lin); repeated values appear once.

Tomorrow

{{if_tomorrow}} gives (tomorrow) when the booking's Date is tomorrow, and nothing otherwise — use it beside a date, in the body or the Subject: {{date}} {{if_tomorrow}}. With several bookings it applies only if all of them are tomorrow, so pick one with {{arrival.if_tomorrow}} or {{departure.if_tomorrow}}.

Blank & unknown

A known field with no value becomes blank. A misspelled field stays as typed so you can spot it. If no booking is found, all fields come out blank and a warning shows.

Other placeholders

<datasegment>slug</datasegment>Inserts a Data segment template
data-segment-payment-requestInserts the checked payment Link Cards
data-segment-dateSubject only: the booking date(s)

The signature from Gmail Settings is always added at the end.

Create Payment Link

Invoice # Invoice Type Amount Link Ref Status Other

Gmail Settings

The connected Gmail account's signature, and (later) email templates.

Signature
Search for an email that carries your signature (one you sent from Gmail — try from:me plus a name or subject). The most recent match is shown; click "Use this signature" to save it here. It's only added to an email or draft where that is explicitly set to include it.
Saved signature
Sender emails
The addresses this business sends app emails from — they can be on different domains. The main one is the Email set in Super Admin > Companies. When there is more than one, the Draft Email tab shows a From choice, and each address uses its own signature (pick it under Signature above). Every address must also be a verified Send mail as address in the Gmail account (Gmail > Settings > Accounts).
Bookings email templates
Which template each "Email ..." item in the Bookings ⋮ menu uses. A change takes effect straight away. Automatic picks by name, as before.
Reply Ignore List
One email address per line. A reply is never sent into a conversation that has any of these addresses in its To, From or Cc, so Reply is not offered for it (New email still works). This list is not used when fetching payment links, which can come from any address.
Template order
The order of the Template dropdown on the Draft Email tab. Use the arrows to move a template up or down; it saves straight away. Data segments never appear in that dropdown, so they are not listed.
Send a test email
Sends a real email from the connected Gmail account — use it to check how the saved signature looks. It can't be undone once sent.
Files are prepared as soon as you pick them; Send only starts once they're all ready. Up to 5 MB in total.
Reply to this email?

🔒 Super Admin

BML Payment Gateway Webhook
The URL BML calls back to confirm a Payment Link has been paid. Use this when configuring the webhook endpoint in the BML Payment Gateway merchant portal.
To set this up in BML:
  1. Open BML Merchants Portal.
  2. Go to Developers and select Endpoints.
  3. Enter the URL above for the Global Webhook.

Change Username

You will need to use the new username on your next login.

Change Password

Choose a strong password.

Loading...

Add, edit or delete companies. All data for a company is scoped by its ID.

Loading...

Select a user above to manage their access rights.

Every create, edit, delete and restore on Bookings and Invoices is recorded automatically. Select a business and Flush Range, then Flush Audit Trail to permanently delete that business's history.

Business
From
To
Action
Module
User
Record ID
Flush Range

Select a business to view logs.

Assign a dedicated MySQL database to each company. Leave blank to use the shared default database.

Loading...

Create New Database

Creates a new MySQL database and initialises the full schema (copies table structure from the main database). The MySQL user must have CREATE privilege.

Login Access Control

Control which countries are permitted to log in.

Maldives (MV) is always permitted. This setting only applies when Cloudflare country check is active on the login subdomain.

Locked Accounts

Accounts locked after too many failed login attempts. Admin can unlock immediately or user can reset via email.

Loading...

Blacklisted IPs

IPs permanently blocked. Auto-blocked for targeting multiple usernames; or block manually below.

IP Address
Reason (optional)

Loading...

Login Logs

All login attempts with IP and Cloudflare country code.

From
To
Status
Country

Loading...

Tax Invoice Preview
Voucher Preview
Select from Catalogue
Loading...
Click a service to add it as a line item. You can adjust the quantity and price after adding.
Add Service
to
Include in invoice auto fill
Charged once per invoice
A Tax Invoice with this service needs an Input Tax claim
Optional - the vendor this service is bought from
What the vendor charges for Qty 1, tax included
The tax in that charge, for Qty 1. With these filled, the Input Tax entry of a Tax Invoice is pre-filled (x Qty)
Lower numbers appear first