🔍 Search products...
PaxmaHub • Level 3

Advanced Invoice Tracker — Complete User Guide

A practical, feature-by-feature guide for creating invoices, managing customers, recording payments, monitoring outstanding balances, printing invoices, configuring business settings, and safely backing up or restoring data.

Invoice Tracker Level 3 Browser-Based Local Storage Offline-Friendly

1. Overview

Advanced Invoice Tracker — PaxmaHub is a Level 3 browser-based invoice management tool. The supplied application provides five main areas: Dashboard, Invoices, Customers, Payments, and Settings.

Important: This guide documents the behavior present in the supplied HTML application. It does not assume cloud synchronization, email sending, accounting integrations, recurring invoices, PDF generation through a server, or other features that are not present in the source.
InvoicesCreate and manage invoices
CustomersStore customer records
PaymentsTrack money received
DashboardMonitor collection status
SettingsBusiness + data controls

What the tracker is designed to manage

  • Customer information and contact details.
  • Invoice numbers, dates, due dates and payment terms.
  • Multiple invoice line items with quantity and unit price.
  • Discounts and tax calculations.
  • Recorded payments, payment methods and references.
  • Invoice balances and statuses.
  • Business identity and invoice numbering settings.
  • Local browser storage with JSON backup and restore.
  • A print-ready invoice view using the browser print dialog.

2. Interface & Navigation

The application uses a fixed sidebar on desktop and a responsive layout on smaller screens.

NavigationPurpose
📊 DashboardView totals, invoice status, collection progress, due-soon invoices and recent invoices.
🧾 InvoicesSearch, filter, edit, pay, print and delete invoices.
👤 CustomersAdd, edit, search and delete customer records when they are not linked to invoices.
💳 PaymentsView recorded payments and edit or delete them.
⚙️ SettingsConfigure business details, currency, default tax, invoice prefix/number and data management.

Top actions

  • Backup: Downloads the current tracker data as JSON.
  • Restore: Opens a JSON backup file and replaces the current stored data after validation and confirmation.
  • New Invoice: Opens the invoice creation form.
  • Back to PaxmaHub: Returns to index.html from the supplied application.

3. First-Time Setup

Open Settings.
Enter Business Name, Email, Phone and Business Address.
Select your currency.
The supplied options are USD, EUR, GBP, CAD, AUD, PKR, SAR, AED and INR.
Set Default Tax Rate.
This value becomes the default tax rate when creating a new invoice. Existing invoice amounts are not recalculated merely because the default setting changes.
Set Invoice Prefix.
The default is INV-.
Set Next Invoice Number.
The default is 1001. The tracker also checks for an existing invoice number before using it.
Save Settings.
Use the Save Settings button and confirm the success message.
Add your first customer.
An invoice cannot be created until at least one customer exists.
Best practice: Create customers before invoices. The application intentionally blocks invoice creation when there are no customers.

4. Customer Management

The Customers page maintains the customer records used by invoices.

Customer fields

FieldRequired?Purpose
NameYesPrimary customer name.
CompanyNoCompany or organization name.
EmailNoCustomer email address. If entered, a basic email format is validated.
PhoneNoCustomer phone number.
AddressNoCustomer billing/address information.

Customer list

The table shows Customer, Company, Email, Phone, Invoiced, Paid, Outstanding and Actions.

The customer search checks the customer's name, company, email, phone and address.

Editing and deleting

  • Edit: Opens the existing customer data for modification.
  • Delete: A customer with one or more invoices cannot be deleted. This protects invoice history from losing its customer relationship.
  • If a duplicate name/company combination is detected, the tracker asks for confirmation before allowing the duplicate.

5. Creating an Invoice

Use + New Invoice from the top bar or create one from the invoice workflow after adding a customer.

Invoice header fields

FieldHow it works
Invoice NumberGenerated from the configured prefix and next number. It is readonly in the invoice form.
CustomerRequired. Selected from existing customers.
Invoice DateRequired. New invoices default to today.
Due DateRequired. New invoices default to 30 days after the invoice date.
Payment TermsDue on receipt, Net 7, Net 15, Net 30 or Net 60. Changing terms recalculates the due date from the invoice date.
NotesOptional invoice note that is also displayed in the printed invoice.
Validation: The due date cannot be earlier than the invoice date. An invoice must contain at least one valid line item.

6. Line Items & Calculations

Each invoice can contain multiple line items. Use + Add Item to add rows.

Line item fields

  • Description: Required.
  • Quantity: Must be greater than zero when saving.
  • Unit Price: Cannot be negative.
  • Total: Automatically calculated as quantity × unit price.

Invoice calculation logic

CalculationFormula used by the application
Line TotalQuantity × Unit Price
SubtotalSum of all line totals.
DiscountCannot exceed the subtotal.
Taxable AmountSubtotal − Discount, never below zero.
Tax AmountTaxable Amount × Tax Rate ÷ 100
Grand TotalTaxable Amount + Tax Amount

Example

If an invoice has a $1,000 subtotal, a $100 discount and a 10% tax rate:

  • Taxable amount = $900
  • Tax = $90
  • Grand total = $990
Note: The tax rate is stored on each invoice. Changing the default tax setting later does not silently change already saved invoice totals.

7. Recording Payments

Payments are stored separately from invoices. An invoice's paid amount is calculated from its linked payment records.

Payment fields

FieldPurpose
InvoiceSelect the invoice receiving the payment.
Payment DateDate the payment was recorded.
AmountMust be greater than zero and cannot exceed the available invoice balance.
MethodBank Transfer, Cash, Credit Card, Debit Card, PayPal, Check or Other.
ReferenceOptional transaction/reference number.
NotesOptional payment note.

Editing a payment

When editing an existing payment, the tracker excludes that payment from the available-balance calculation so the original amount can be changed without incorrectly treating itself as already paid.

Deleting a payment

Deleting a payment immediately causes the related invoice's paid amount, balance and status to be recalculated.

Important: A payment cannot be recorded against an invoice once its available balance is zero.

8. Invoice Status Logic

Status is calculated automatically; there is no separate manual status field.

StatusCondition
PaidRemaining balance is at or below the small calculation tolerance of 0.005.
OverdueBalance remains outstanding and the due date is earlier than today.
Partially PaidSome payment has been recorded but the invoice is not fully paid and is not overdue.
UnpaidNo payment has been recorded and the due date has not passed.

Core balance formula

Balance = Invoice Total − Sum of Linked Payments

The balance is never displayed below zero because the application clamps it to zero.

9. Dashboard

The Dashboard gives a high-level collection snapshot.

MetricMeaning
Total InvoicedSum of all saved invoice totals.
Total PaidSum of all recorded payments.
OutstandingTotal invoiced minus total recorded payments.
OverdueOutstanding balance belonging to invoices whose due date has passed.
InvoicesTotal number of invoices, with a small summary of paid and overdue counts.

Invoice Status panel

Displays counts for Unpaid, Partially Paid, Paid and Overdue invoices using proportional bars.

Collection Progress

The collection percentage is based on total payments divided by total invoiced amount, capped between 0% and 100% for display.

Due within 7 days

The Dashboard identifies unpaid invoices whose due dates fall from today through the next seven days. Paid invoices are excluded. Up to five due-soon invoices are shown.

Recent Invoices

The Dashboard displays the eight most recently dated invoices and provides an Edit action plus a link to view all invoices.

11. Printing an Invoice

The application creates a dedicated print view for the selected invoice and calls the browser's print dialog.

The printed invoice includes

  • Business name, address, email and phone.
  • Invoice title and invoice number.
  • Issue date and due date.
  • Customer name, company, email, phone and address.
  • Line-item description, quantity, rate and amount.
  • Subtotal, discount, tax and total.
  • Total paid.
  • Balance due.
  • Invoice notes.
PDF option: The source application does not contain a separate PDF-generation engine. If the browser offers “Save as PDF” in its print dialog, that browser feature can be used to save the print view as a PDF.

Recommended printing workflow

  1. Open Invoices.
  2. Find the required invoice.
  3. Click Print.
  4. Review the print preview.
  5. Select a physical printer or the browser's PDF option if available.

12. Business Settings

SettingBehavior
Business NameDisplayed on printed invoices and stored with the tracker settings.
EmailBusiness contact email; basic format validation is applied.
PhoneBusiness contact phone.
Business AddressDisplayed on printed invoices.
CurrencyControls monetary display formatting. Options include USD, EUR, GBP, CAD, AUD, PKR, SAR, AED and INR.
Default Tax RateDefault tax rate for new invoices.
Invoice PrefixUsed when generating invoice numbers; default is INV-.
Next Invoice NumberControls the next numeric sequence used for generated invoice numbers.
Currency behavior: The application explicitly warns that changing currency changes display formatting, while existing invoice amounts remain unchanged. Do not treat a currency-setting change as a currency conversion.

13. Backup & Restore

Backup

The Backup function creates a JSON file containing the application state. The exported payload identifies the app as Advanced Invoice Tracker Level 3, includes version information and an export timestamp.

The filename follows the pattern:

invoice-tracker-backup-YYYY-MM-DD.json

Restore

Choose Restore from the top bar or Settings.
Select a JSON backup file.
The application validates the structure and relationships in the backup.
Confirm the restore operation.
The current data is replaced with the sanitized backup state.

What validation checks

  • Customers, invoices and payments must be arrays.
  • Customer IDs must exist and be unique.
  • Invoice IDs and invoice numbers must be unique.
  • Invoices must reference existing customers.
  • Payments must reference existing invoices.
  • Payment amounts must be valid positive numbers.
  • Settings, if present, must have a valid object structure.
Restore warning: Restoring a backup replaces the current tracker data. Always create a fresh backup before restoring an older file if the current data matters.

14. Data & Storage Logic

The application stores its state in the browser's localStorage. The primary storage key is level3_invoice_tracker_v2. The loader also checks the earlier level3_invoice_tracker_v1 key for compatibility.

Stored data groups

  • customers — customer records.
  • invoices — invoice headers, line items and calculated totals.
  • payments — payment records linked to invoices.
  • settings — business and numbering settings.

Privacy/storage model

The application's Settings page states that data is stored locally in the browser, is not uploaded to a server, and recommends regular backups.

Operational implication: Browser-local storage is convenient for an offline/local tool, but it should not be treated as a replacement for backups. Browser data can be lost through browser/profile/device changes or clearing site data.

Safe-save behavior

When a change is saved, the application attempts to write the state to localStorage. If storage fails, the application displays an error and attempts to restore the previous in-memory state for the operation.

15. Recommended Complete Workflow

Configure the business.
Set business name, contact details, currency, default tax, invoice prefix and starting number.
Add customers.
Create clean customer records before issuing invoices.
Create an invoice.
Select the customer, set invoice/due dates, add line items, discount and tax, then save.
Print or save the invoice.
Use the invoice Print action and the browser print dialog.
Record payments.
Whenever money is received, link the payment to the correct invoice.
Monitor Dashboard.
Use Outstanding, Overdue, Collection Progress and Due within 7 days to prioritize collections.
Review Payment History.
Use the Payments page when checking received amounts or correcting a payment record.
Back up regularly.
Download a JSON backup after important changes or on a regular schedule.

Suggested daily routine

  • Check overdue invoices.
  • Check invoices due within seven days.
  • Record newly received payments.
  • Correct any payment or invoice data entry errors.
  • Create a backup when the dataset has materially changed.

16. Validation & Data Integrity

The supplied application contains several safeguards intended to prevent broken invoice relationships and invalid financial entries.

ProtectionBehavior
Unique invoice numbersDuplicate invoice numbers are rejected. Generated numbers also skip existing numbers.
Customer relationshipAn invoice must reference an existing customer.
Customer deletion protectionCustomers linked to invoices cannot be deleted.
Payment overage protectionA payment cannot exceed the remaining invoice balance.
Invoice date validationInvalid dates are rejected; due date cannot precede invoice date.
Line-item validationDescription is required, quantity must be greater than zero and rate cannot be negative.
Discount protectionDiscount is capped at the invoice subtotal.
Payment date validationPayment date must be a valid date string.
Backup validationRelationships and core record structure are checked before restore.
HTML escapingUser-entered text is escaped before being inserted into generated HTML in the main data-rendering paths.

Deleting an invoice

Deleting an invoice also deletes all payments linked to that invoice. This is intentional because keeping orphaned payments would break the invoice/payment relationship.

Deletion is destructive. The interface confirms deletion, but there is no built-in undo function. Keep a backup if historical data is important.

17. FAQ & Troubleshooting

Why can't I create an invoice?

The application requires at least one customer. Go to Customers → Add Customer, save a customer, and then create the invoice.

Why does an invoice show Overdue?

An invoice is Overdue when it still has a balance and its due date is earlier than today.

Why can't I enter a payment larger than the amount shown?

The tracker prevents payments from exceeding the available invoice balance. This protects the balance calculation from becoming negative.

Why did the invoice become Paid automatically?

Status is calculated from the invoice total and linked payments. Once the remaining balance is at or below the application's small tolerance, the status becomes Paid.

Can I delete a customer with invoices?

No. The application blocks this to protect invoice history.

Can I change an existing invoice's currency by changing Settings?

You can change the currency setting, but the application states that existing invoice amounts are unchanged; the setting affects display formatting. It is not a currency conversion tool.

Where is my data stored?

The supplied application uses browser localStorage. It does not upload the stored state to a server according to the application's Settings notice.

Can I restore an old backup?

Yes. Use Restore and select the JSON backup. The backup is validated before replacement. Because restore replaces the current state, back up the current state first.

Can I create a PDF?

The tracker creates a print-ready invoice and calls the browser print dialog. If the browser provides a Save as PDF option, you can use that print option.

Why are my invoice filters showing no results?

Check the From and To dates. The From date must not be later than the To date. Also remember that the date filter is based on invoice date.

What happens if browser storage is unavailable or full?

The save operation can fail and the application displays an error. The code attempts to keep the prior in-memory state rather than treating the failed write as a successful save.

18. Quick Reference

TaskPath
Configure businessSettings → Business Settings
Add customerCustomers → Add Customer
Create invoiceNew Invoice
Add line itemInvoice modal → Add Item
Apply payment termsInvoice modal → Payment Terms
Record paymentPayments → Record Payment or Invoice → Pay
View outstandingDashboard → Outstanding
Find invoiceInvoices → Search / Status / Date filters
Print invoiceInvoices → Print
Edit paymentPayments → Edit
Delete paymentPayments → Delete
BackupTop bar → Backup or Settings → Download Backup
RestoreTop bar → Restore or Settings → Restore Backup
Delete everythingSettings → Delete All Data

Core formulas at a glance

MetricFormula
Line TotalQty × Unit Price
TaxableSubtotal − Discount
TaxTaxable × Tax Rate ÷ 100
Invoice TotalTaxable + Tax
PaidSum of linked payments
BalanceInvoice Total − Paid
Collection %Total Paid ÷ Total Invoiced × 100
Product boundary: This guide intentionally stays within the functionality present in the supplied Level 3 invoice tracker. Features such as cloud sync, multi-user access, automated email sending, recurring invoices, accounting integrations, online payment gateways and marketplace integrations are not documented as built-in features because they are not present in this source.