Skip to content

Invoice clients

Client invoicing turns each client’s agreement and the billable time your team logged into an invoice, emails it to the client, and tracks what is paid. Outpost drafts the invoices. You check them, finalize them, and send them. This page covers the monthly cycle, payments and corrections, the settings every invoice is built from, and exporting invoices to your accounting package.

  • You are on the MSP plan, and the client has an active agreement. See Client agreements.
  • Generating, finalizing, sending, and voiding invoices, recording payments, and issuing credit notes need psa:invoice. Editing a draft and a client’s billing profile needs psa:write. The invoicing settings and the accounting export need psa:admin. Reading needs psa:read.
  • Finalizing an invoice emails it to the client’s billing contact. A client with no billing contact email is finalized without an email. See Set a client’s billing profile.

On the day a client’s agreement bills, Outpost drafts the invoice for the period. The draft holds:

  • The agreement’s lines. Per device, per user, and per seat lines are counted at that moment, and a period that started part way through is prorated. Discounts appear as their own lines, and lines billed by peak or daily usage get a usage true-up for the period before. See Bill seat and device changes.
  • The client’s Billable time from the period, at the rate its rule named. Time drawn from a prepaid block is taken off the block, and only work beyond the block’s remaining balance is billed. Covered, prepaid, and excluded time adds no line.

A draft has no number and can still change. Time on a draft stays off Unbilled time while it is there. If you delete the draft, the time comes back and the period can be billed again.

Accepting a quote, completing a project milestone, and approving a change order can also create draft invoices. See Sales pipeline and quotes and Projects.

  1. Select Client billing > Ready to invoice. It lists the clients whose period has agreement charges or unbilled time in it, with the Period, the Agreement charges, the Time charges, the Unbilled minutes, and the Total.
  2. For a client with no draft yet, select Generate now to draft the invoice without waiting for the scheduled run.
  3. Select Open the draft and check it. See Adjust a draft.
  4. Back on Ready to invoice, select the clients whose drafts are right, then Finalize selected.
  5. Confirm with Finalize. Outpost finalizes the invoices one client at a time, and lists each invoice number when it is done.

Finalizing emails each invoice, with its PDF attached, to the client’s billing contact. For a client with no billing contact email, no email is sent. Send that invoice yourself. See Send an invoice.

On a draft invoice, you can change each line’s description, quantity, and unit price. Select Add an adjustment to add a manual line. An adjustment is the one line whose amount may be negative, which is how you write a discount. Select Save draft to recompute the totals.

To throw a draft away, select Actions > Delete draft. It leaves no number behind, and the client’s period becomes billable again.

On a draft, select Actions > Finalize and confirm. The invoice gets its number, its PDF, and its due date, and its lines never change again. Outpost emails it to the client’s billing contact. Open the PDF opens the document the client receives.

Finalizing already emails the invoice to the client’s billing contact. Send it from the invoice when the client has no billing contact email, when it needs to go to another address, or to send it again.

  1. On the invoice, select Actions > Send to the client.
  2. In Send to, leave the box empty to use the client’s billing contact, or enter another address.
  3. Select Send.

The email is queued and retried if mail delivery fails for a while. The invoice PDF is attached.

Outpost also emails the billing contact a reminder before the due date and again while the invoice is overdue, as set in the invoicing settings.

  1. On the invoice, select Actions > Record a payment.
  2. In Amount received, enter what arrived, not what was invoiced.
  3. Choose the Method: Check, Bank transfer (ACH), Card, or Other.
  4. Enter Received on, and a Reference such as a check number or a transaction ID so the payment can be matched to the bank later.
  5. Select Record payment.

Recording a payment does not send the client anything. The invoice moves to Part paid or Paid.

Do not record a payment by hand while the invoice’s Online payments card shows a payment in progress. If both land, the client has paid twice. See Send pay links and charge saved methods.

  1. On the invoice, select Actions > Issue a credit note.
  2. In Kind, choose:
    • Credit when the client is owed this back against what was billed, such as a goodwill credit or a corrected line.
    • Write off when you have decided not to collect it.
  3. In Amount, enter no more than the outstanding balance.
  4. In Reason, enter the explanation. It is shown on the credit note the client receives.
  5. Select Issue credit note.

A credit note has its own number, and the invoice keeps its number too.

  1. On the invoice, select Actions > Void this invoice.
  2. In Reason, enter why. It is kept on the record and shown on the document.
  3. Select Void this invoice.

A voided invoice keeps its row and its number, so there is no gap in your invoice numbers. Voiding frees the period, so it can be billed again, and its time returns to Unbilled time. A draft cannot be voided. Delete it instead.

StatusMeaning
DraftBeing built. No number, and the lines can change.
IssuedFinalized: numbered, rendered, and frozen.
SentThe email to the client has been sent.
Part paidPayments and credit notes cover part of the total.
PaidPayments and credit notes cover the whole total.
Past dueNot paid by the due date.
VoidCanceled. It keeps its number.

The balance is the total less payments and credit notes. It is worked out every time you look, so it always agrees with the payments and credit notes listed on the invoice.

Client billing > Unbilled time lists logged work across every client that no invoice holds yet, with its Charge type, Outcome, and Amount. Client chooses whose work you see.

The page opens on the Billable and unjudged view. Needs a decision shows the entries with no outcome. Everything includes covered, prepaid, and excluded work and the entries already on a draft.

An entry marked Unclassified has no outcome yet, because the client had no active agreement when the work was logged. It is classified by the agreement’s rules when the client’s next invoice is drafted. See Client agreements.

An entry keeps the outcome and rate it was given when it was classified. After you change the client’s agreement, select Reprice on an entry to price it again with the client’s current agreement rules. Reprice is offered on each row of Unbilled time, on a ticket’s Time tab, and on a project task’s Time card. It needs psa:write. An entry marked Invoiced is on a finalized invoice and is never repriced.

Client billing opens on an overview with outstanding, overdue, and clients ready to invoice figures, and a Who owes what table of each client’s balance by age, from current to over 90 days. Ages run from each invoice’s due date.

Client billing > Invoices lists every invoice. It opens on the Open and overdue view. Drafts and Everything show the rest. Search matches the invoice number and the client name.

  1. Open the client’s workspace, then select Client billing > Billing profile.
  2. Under Billing contact, enter the Contact name, the Contact email that invoices and reminders go to, and the Billing address printed on the invoice.
  3. Under Overrides, enter Payment terms in days, Tax rate as a percentage, or Time zone only where this client differs from your practice. Leave a box empty to follow the practice setting. A typed zero is a real value, not the same as empty.
  4. Select Save.

What this client is billed on shows the terms, tax rate, and time zone in effect and where each comes from. New invoices for the client use the saved details.

Client billing > Settings holds the defaults every invoice is built from. An invoice takes its copy when it is generated, so changing a setting never changes an invoice already issued.

SettingWhat it does
CurrencyThe currency of every invoice. Invoices already issued keep theirs.
Time zoneWhat day it is at your practice. It also decides when a quote expires.
Tax rateThe default tax rate. A client’s billing profile can override it.
Payment termsDays from the issue date to the due date. A client’s billing profile can override it.
Invoice prefixThe front of every invoice number, such as INV in INV-000042.
Remind before it is dueDays before the due date to send the first reminder. Zero sends none.
Chase an overdue invoice everyDays between overdue reminders. Zero sends none.
Warn when a prepaid block falls belowMinutes left in a prepaid block before the client is told. Zero sends no warning.
Remit to blockWhere the client sends payment, printed on every invoice as written.

Export invoices for your accounting package

Section titled “Export invoices for your accounting package”

On the Client billing overview, select Export for QuickBooks or Export for Xero. Each downloads a CSV file in that package’s column order, holding the finalized invoices issued in the last 90 days, without void ones. Import the file into QuickBooks Online or Xero.

The export is a file you download and import. Outpost does not connect to either package or keep them in step. The file holds every client’s name, address, invoice numbers, and amounts, which is why it needs psa:admin.

  • The finalized invoice has a number and shows Issued, then Sent once the email has gone.
  • Open the PDF shows the remit-to block and the client’s billing address.
  • After you record a full payment, the invoice shows Paid and a balance of zero.

Content is licensed CC BY 4.0. Code samples are MIT. Outpost and the Outpost mark are trademarks of Outpost Business Solutions, PBC and are not covered by either license.