iPay2Day

Lesniewski Invoicing Software

Email
Password

iPay2Day

Dashboard

Quick view of open work and current AR.

Open invoices
—
approved + sent + partial
Drafts
—
need review & send
Unmapped bidders
—
need client assignment
Unpaid invoices
—
click to view →
AR balance
—
total outstanding

Recent invoices

Invoices

0 selected
Invoice #DateP.O.Client TotalBalance Status

Client balances

Running balance per client across all non-draft, non-voided invoices. Net = gross AR minus credit on file; negative net (in emerald) means the client is in credit with us.

ClientCurr. InvoicedPaidCredit 0-3031-60 61-9090+ Gross Net

Clients

0 selected
NameAddressEmailWholesale?Lang

Bidder mappings

Map auction bidder IDs to clients. New mappings backfill existing drafts.

Unmapped bidders

Existing mappings

0 selected
SourceBidder IDBidder nameClient

Line-item presets

Quick-add templates for the invoice editor — type a code and the description + price are filled in. Per business; unlimited.

0 selected

Money

Bank activity + payment allocations in one place. Smart match suggestions use VIN tail / P.O., year, make, model, and amount.

Incoming wires — need allocation

All activity

0 selected
DateSourceDescription / Payer AmountAllocated toStatus

Reports

AR aging

Monthly P&L

Year
Month

Per-client monthly ledger

Miesięczna księga w formacie Litwinczyk — zakupy, przelewy, podsumowanie miesiąca i kontrola krzyżowa salda.

Client
📒 Monthly ledger XLSX 📄 Statement HTML 🧾 Statement PDF 📊 Statement Excel

Mailing covers

Pick invoices → print a US-Letter cover per client for #10 window envelopes. Same client's invoices combine onto one page. Multi-VIN freight invoices list every car.

Payment reminders

Overdue invoices surface on a schedule (default 3 · 7 · 14 · 21 · 30 days from the invoice date). Review the queue and send escalating reminders in one click. Paid/voided invoices are never reminded.

Voided invoices history

Every voided invoice on this business — what it was, why it was voided, and which invoice (if any) replaces it. Click a row to open the original.

Date Invoice # Client Sub-account Total Reason Replaced by

CSV import

Pick a file and click Preview. Nothing is written to the database until you click Commit on the next screen. Duplicates, cross-business VIN conflicts, and unmapped bidders are flagged before commit.

IAA — WonVehiclesToBePaid / PurchaseHistory

IAA — Bill of Sale (PDF, Canada)

Vehicle = AMOUNT + PST/QST. HST/GST dropped (bidders are GST-exempt). Yard names have the 'IAA ' prefix stripped.

Copart — PaymentsDue / PaymentsHistory

Bank statement

BoA CSV (USD businesses) or Wise CSV (AutoAuto CAD / Polonex CAD) — format auto-detected.

TD Bank CSV — only WIRE TRANSFER INCOMING credits are imported (checks / ACH / Zelle / deposits get entered by hand).

Recent imports

Settings

Email connection + database backups for the current business.

Invoice numbering

For —

Pick how this business numbers its invoices. Existing invoice numbers are never rewritten; this only controls what the next invoice gets called.

Style
Prefix
Next sequence # (used by SEQ + PREFIX_SEQ)

Next invoice will be: —

Bank accounts

Each invoice prints one of these as the wire instructions block. The default account fills in automatically on new invoices unless the client has their own preferred bank (set on the client profile) or you pick one explicitly per invoice.

Nickname Bank Account # SWIFT Routing Currency Status

Email connection (SMTP)

For —

iPay2Day uses Gmail SMTP to send invoices. You need a Gmail app password (regular Gmail passwords don't work for SMTP). Paste it below. For Google Workspace accounts, 2-step verification must be on.

Send-from address
App password (leave blank to keep current)
Where clients reply / notification address

Server-side backups (Litestream → Cloudflare R2)

Loading…

Restore from a backup file

Destructive · boss only

Upload a payday.db backup file. The system reads it, shows a summary (date, invoice / payment / client counts), and compares it against the live database. To actually replace the live data you must type CONFIRM BACK UP UPLOAD.

⚠️ Even after restore, the prior live database is preserved as /data/payday.db.replaced.<timestamp> on the Fly volume so a wrong-file mistake is recoverable.

Data safety

Loading…

Database backups

Save copies of your database to a folder on this computer. Choose the folder once — future backups go there directly.

Destination folder

No folder chosen — backups will download via the browser.

Your browser doesn't support writing directly to a folder. Backups will download to your usual Downloads folder instead. (Tested in Chrome & Edge.)

Backup now

SQLite file = compact, one-click restore. JSON ZIP = portable across engines (Postgres etc.).

Auto-backup (laptop-side)

Off

Periodically writes a fresh .db file to the chosen folder while iPay2Day is open in this browser tab. This is a local copy — the authoritative backup is the Cloudflare R2 replication running on the server (see panel above).

Requires a destination folder to be picked first. Closing this tab pauses the auto-backup until next open.

History

Admin

Manage users and which businesses each one can access.

Users

Email Role Businesses Status Actions

Add user

Email
Password
Role
Accessible businesses

Bosses always have access to every business; selection here sets the default landing one.

PAYMENT ALLOCATED — INVOICE PAID
SENT
Client
Quick-add client

Powered by OpenStreetMap. Type 3+ characters.

Bank account
P.O. number
Invoice date
VIN (overrides the linked vehicle's VIN on the PDF — leave blank to use the imported value)
Vehicles in this shipment (VIN + optional description — prints as a list on the invoice)

No vehicles added. Click + Add vehicle for each car in this shipment.

Sale type

Default for international shipments. No ODOMETER or SOLD AS IS sections on the PDF.

Import shipment. Clean layout like Export, but with Import-specific Terms & Conditions (USCBP duties, container fees, agent-only — all on the Buyer).

In-country US sale. PDF includes ODOMETER DISCLOSURE, SOLD AS IS, full Terms & Conditions, and an optional Sales Tax row.

Bill To on PDF
Client info (name + address) prints on the PDF. Internal notes are never printed.
Bill To (what client gave us — pastes verbatim)

Client info (name + address) is hidden from this PDF. Only what you paste here will be printed.

Sub-account / end-customer (for wholesalers — used in Balances)

This wholesale client has no sub-accounts registered yet. Pick + Add new sub-account… to create one, or open the client profile to manage the full list.

Optional. Lets the Balances tab + statement break a wholesaler's total down by their own end customers. Not printed on the PDF.

Mailing Address on PDF
Pulls the client's name + address fields. Pre-fills automatically when the client is set.
Mailing Address (pastes verbatim on the PDF)
Pre-populates the box from the client's stored name + address; edit freely from there.
No Mailing Address box prints on this invoice's PDF.
Payments applied
of
Line items
Total: $0.00
Sales tax
No sales tax on this invoice. The Sales Tax row is hidden on the PDF.
Rate (%)

Applied to the full line-item subtotal. NJ default: 6.625%.

Internal notes (never printed)
Old Remaining Balance — carryover from the previous accounting system. PDF, Send, Approve, and Void don't apply. Edit the amount from the client profile's OB card; allocations work like any invoice.
Open PDF
Live preview Wholesale Bill To

Allocate payment

Incoming wire
Payer name
Received date
Currency
Wire amount
Payment method
Check number
Funded from this client's credit on file — deducted from their credit balance.
Credit to client (any amount not allocated to an invoice below becomes credit for this client)
Sub-account (wholesale clients only — picks which sub-account the credit belongs to)

No sub-accounts registered for this wholesale client yet. Pick + Add new sub-account… to create one, or manage the full list on the client's profile.

Leave blank to park the credit at the wholesale top (no sub-account).

Apply to invoices (optional — leave empty to park the whole amount as credit)

Type a P.O. (or invoice #) to add the matching invoice as a row; over-allocations become a credit slip.

Wire has leftover headroom

Send invoice email

To (primary recipient)
CC (comma- or newline-separated — e.g., accounting)
PDF will be attached automatically · WhatsApp-friendly copy block at the bottom of the body
Sent!

Import preview ·

0
New
0
Duplicates
0
Conflicts
0
Unmapped bidder

Preset

Code
Category
Default line type
 
Description template
Default amount (USD)
Sort order

Client

Full name
Contact email (main recipient)
Phone
CC emails (comma- or newline-separated — e.g., accounting department)
Language
Address line 1
Address line 2
Ship To override (for the invoice)
Default Bill To override (used on new invoices when wholesale)
Default bank account (auto-fills on new invoices for this client; you can still override per invoice)
Internal notes (never printed)

📬 Mailing covers

Select invoices → generates US-Letter cover sheets aligned to #10 window envelopes. Outstanding invoices preselected.

DateInvoice #Client VehicleStatus
0 invoices selected · 0 envelopes to print

🔔 Payment reminders

Overdue invoices due for a reminder today.

ClientInvoice #Date Days overdueReminder Last remindedBalance
0 selected · 0 recipients

Client

Reports 📄 Statement HTML 🧾 PDF 📊 Statement XLSX 📚 Monthly Ledger
Contact
Net amount owed
$0.00
gross AR less credit & parked funds
Oldest open:
Total Invoiced
$0.00
Total Paid
$0.00
Gross AR
$0.00
Credit on file
$0.00
AR aging
0–30 days
$0.00
31–60 days
$0.00
61–90 days
$0.00
90+ days
$0.00
⚠️
$0.00 in payments not yet applied
The client sent us this money but it hasn't been routed to any invoice or rolled into a credit slip. It's already subtracted from Net AR — open Allocate on a payment row below to apply it.
OB
Old Remaining Balance
Carryover from the previous accounting system. Payments allocate against it like a regular invoice.
Original
$0.00
Paid
$0.00
Remaining
$0.00

Sub-accounts

NameEmailPhone InvoicesOpen balance Opening bal.

Invoices

DateInvoice #P.O.Status TotalPaidBalance Age

Payments

DatePayerAmountCurrencyStatus

Credit on file

CreatedOriginalRemainingCurrencyStatus

↪ Make sub-account

Merge into a wholesaler. All its invoices, payments and credits move over — nothing is deleted, everything is audited.

Wholesale parent (the account this becomes a sub-account of)

If the chosen client isn't already wholesale, it will be marked wholesale.

Sub-account name (how it shows under the wholesaler)
Step 1: Preview. Step 2: Convert.

Backup preview

Filename:

Backup file last-modified:

Backup file

Live database (will be replaced)

⚠️ This permanently replaces the live database.

The current live DB is moved to payday.db.replaced.<timestamp> on the Fly volume before the new one takes over. The app will restart automatically — expect a 10-15 second blip.

Type CONFIRM BACK UP UPLOAD exactly to proceed:

Add sub-account

Sub-account name *
Contact email
Phone
Address (line 1)
Address (line 2)
Default Bill To override (optional — auto-fills the invoice Bill To block when this sub-account is picked)
Notes

Add bank account

These fields print as the wire instructions block on the invoice PDF. The currency must match the business's currency for the account to be usable as a default.

Nickname * (internal label, e.g. "BoA primary")
Currency *
Payee name *
Payee address *
Bank name *
Bank address *
Account # *
SWIFT *
Routing # *
Institution # (CAD only)
Transit # (CAD only)

OB

Set Old Remaining Balance

The opening balance is where this client stood at the moment they transitioned from your previous accounting system to iPay2Day — either money they owed you, or money they had on account (overpaid / credit).

Type
Amount *
$
Currency follows the active business.
As-of date
When the carryover was struck. Defaults to today.
Note (optional)

This OB already has $0.00 in allocations.
Editing recomputes status from the new amount.
LINK

Share statement

Generates a private link the client opens on any device and unlocks with their 4-digit PIN. One PIN per client — they reuse it for every statement you send. Send the link and the PIN over different channels (e.g. link by email, PIN by WhatsApp).

Client PIN
Leave blank to keep the current PIN; type 4 digits to set / reset it.

New link ready — copy & send
PIN:
Active links
CreatedLast openedOpensExpires