Money
Invoicing
Per-visit invoices, batch billing, the draft→sent→paid lifecycle, finding things fast.
Invoices in Sollos are built from bookings — the booking's Total is what lands on the invoice. Price bookings when you create them and invoicing is a two-click affair; leave them at $0 and the $0 follows you here.
One booking, one invoice
On a booking's page, Generate invoice creates a draft for that visit. If the booking is $0 you'll be warned before the draft exists. If an invoice already exists for the booking, the button is replaced by a link to it — number, amount, status — so duplicates can't happen by accident.
Batch invoicing
For a client with several unbilled visits (or a company paying for several people), a batch invoice gathers bookings onto one invoice:
- Only unbilled work is offered. A booking already on a sent or paid invoice is locked to it.
- A booking sitting on an unsent draft can be folded into the batch — the old draft is voided automatically, on the logic that nobody has seen it yet.
- When you void an invoice, its jobs are not billed again automatically: not by monthly billing, not by auto-drafting. If the work is still owed, bill it from the job's page or from Bill for a period. Deleting an invoice you had already sent works the same way. Deleting a draft does not: the work is still owed, so monthly billing offers it again on its next run.
- "Bill as company" puts the paying company's details on the invoice while the visits stay attached to the people who received them.
Bill for a period (Invoices → Bill for a period) does the same thing for a date range: pick the client, a From and To date, and Load bookings.
Expect to see "Every job in this range already has a draft invoice" most of the time. That is normal, not a dead end — Sollos drafts one invoice per job as it finishes, so by the time you bill a month it's usually all spoken for. Tick the drafts in the amber box and each one drops into the line list as a real line; the total updates and those drafts are voided when you create the combined invoice, so nothing is billed twice. Remove one with the bin icon to leave that job on its own draft instead.
You never need to delete a draft to make a period invoice work — ticking it does the same job without destroying anything. Invoices the client already has (sent or paid) can't be folded in and are listed separately.
The lifecycle
Draft → Sent → Paid, with Overdue when a due date passes. Payments recorded in the app (or arriving through Stripe/Square) mark the invoice paid and reconcile automatically. Refunds issued in-app do too.
Finding things
The invoice number is the first column and it's searchable — a client says "about invoice 149", you type 149. The search box takes names, numbers, dates ("Jul 6", "July 6", or "2026-07-06"), statuses ("overdue"), and amounts ("183.75"). Words combine: "leslie july" narrows to that client's July invoices.
The list shows the newest 500 invoices and says so when older ones exist — search only looks inside what's loaded. For one client's complete history, open their page and use View all beside Recent invoices.
Accounting sync (Sage, QuickBooks)
With an accounting connection under Settings → Integrations, every invoice that reaches sent (or paid) is pushed to the books as a sales invoice, and the client is created there as a contact the first time. A push that fails is retried every few hours, and the reason shows on the Integrations page in the accountant's words — nearly always a missing piece of address. Sage needs a real postal address on the client (street, city, province, country) before it will accept them at all, and a province + country on the invoice's address or a default tax region picked on the Sage card. Payments follow: every payment recorded in Sollos — by hand, by card through Stripe or Square — is posted against that invoice. In Sage it lands as a customer receipt into the first current account in the banking list (move it in Sage if it belongs elsewhere); in QuickBooks it lands as a Payment in Undeposited Funds, ready to match to the bank feed. A payment larger than the invoice is applied up to the balance and the rest sits as credit on the customer. Refunds follow (Sage): each refund posts a credit note against the customer, with tax taken off the way the invoice added it, and a customer refund from the bank allocated to it — a partial refund posts only its own amount. Card fees follow (Sage): each Stripe or Square fee posts as its own line against a card-fees expense, out of the bank, so the bank feed matches the net deposit. Where Sage has a page for a record — invoices, bills, credit notes — Sollos shows a View in Sage link beside it; journals have no page in Sage, so paid payroll runs show Posted to Sage and a Post to Sage button when the post didn't land. Payroll follows too (Sage): each run or statement marked paid is posted as a journal of gross pay per person — see Payroll in the books under Timesheets & payroll.

