Skip to content

Invoices ​

Invoices track what you bill customers and what they owe. Create invoices, send them for payment, and monitor outstanding balances — all connected to the jobs and customers they belong to.

Open Invoices from the main navigation.

When to use Invoices ​

Use Invoices when you need to:

  • Bill a customer for completed work or materials.
  • Track what has been paid and what is still outstanding.
  • Send payment links so customers can pay online.
  • See overdue balances at a glance.

Before you start ​

  • At least one customer must exist in ToolbagCRM before you can create an invoice. Each invoice requires a customer.
  • Customer email — add an email address to the customer record before using Email invoice. You can still print the invoice or use Mark as sent when you deliver it another way.
  • Stripe connection — connect Stripe from Settings → Online payments to email an unpaid invoice with its default online pay link, create a separate pay link, or charge cards. If the business instead approves arranging payment directly with the customer, select that option on the invoice before emailing; this sends business contact details without a pay link. Printing, Mark as sent, status tracking, and recording cash or check payments do not require Stripe.
  • Verified email — the account owner's email must be verified for an online pay link. It is not required to email a paid receipt, use a business-approved direct payment arrangement, or mark an invoice as sent.
  • If you plan to tie invoices to jobs, make sure the job and customer are already in the system.

The invoice list ​

The invoice list shows invoice number, customer, issued date, due date, amount, balance, and status. Dates calculated from invoice terms are labeled Estimated, while invoices without a usable date show No due date. Only a saved contractual due date uses overdue red styling. Use the status tabs and search field to narrow the full invoice list.

Money owed ​

The Money owed panel groups current unpaid balances by how long they are overdue. Use it to prioritize collection work before filtering the invoice list.

The panel includes:

  • Collectible balance — the total on sent invoices minus completed payments already applied, with its invoice count.
  • Overdue — balance and count for invoices due before today.
  • Saved due date needed — sent-invoice balances that use an estimated date from payment terms or have no usable due date yet.
  • How long overdue — switch between 30-day and 15-day groups.
  • Currency — review each currency separately; ToolbagCRM does not combine unlike currencies into one total.

Select a populated group to review its matching invoices. The detail view shows each invoice, customer, property or work location, due date, and balance. Use Only this customer or Only this property to narrow the selected group, then open the linked invoice, job, or customer record for follow-up.

The 30-day view groups balances into Not due yet, Due today / 1–30 days overdue, 31–60 days overdue, 61–90 days overdue, Over 90 days overdue, and Due date needed. The 15-day view provides narrower collection intervals.

Money owed requires read access to Invoices and Payments plus access to all Jobs. Opening the matching invoice rows also requires Customers read access. Ask an account owner to update your role if the totals or drill-down are unavailable.

Invoices without a saved due date may use an estimated due date based on their invoice terms. When the warning appears, select Review affected invoice or Review affected invoices to identify those records. Open each invoice, select Edit, review or choose the Due date, and select Save Changes before emailing a sent invoice or sending a reminder.

Status tabs ​

Filter by status: All, Draft, Sent, Paid, or Overdue. Each tab shows a count badge. "Overdue" is a derived status — unpaid invoices past their due date, excluding drafts and voided invoices.

When Overdue is selected, a summary above the list reconciles the overdue count and overdue amount with the Money owed ledger. For multiple currencies, ToolbagCRM lists each currency separately instead of combining unlike amounts. The summary also shows the company-day snapshot date and time zone used for the calculation.

Using Review on the Dashboard's overdue alert preserves that dashboard snapshot in the URL. This keeps the invoice count and amount aligned with what you selected even if the company is in a different time zone from your device.

Search and pagination ​

Search across invoices by invoice number, customer name, or job title. Status tabs also filter the full matching set before ToolbagCRM returns a page of up to 100 invoices. Use the pagination controls to move through additional results.

Search, status filters, and pagination do not change the Money owed totals. Those totals come from the full current receivables ledger for the selected currency and overdue interval. Links from Receivables explained on the Dashboard can open the list with a status and currency already selected; change those filters when you need a different invoice set.

What each row shows ​

  • Invoice number in monospaced font.
  • Customer name — clickable link to the customer detail.
  • Issued date
  • Due date — a saved contractual date can appear in red when overdue. A date calculated from terms is labeled Estimated, and an unavailable date appears as No due date.
  • Amount — the invoice total.
  • Balance — remaining amount due, shown in red if overdue.
  • Status badge

Create a new invoice ​

  1. Click New Invoice.
  2. Select a Customer (required).
  3. Optionally select a Linked job — the dropdown lists only jobs that belong to the selected customer, and it stays disabled until a customer is chosen. Leave it on "No job attached" for a customer-only invoice.
  4. Review the first line item, then use Add item when you need another charge. Each item needs a Description, a quantity above zero, and a unit price of zero or more. The unit is optional.
  5. Select Create Draft.

For a customer-only draft or a linked job whose pricing is visible to you, the button stays disabled until the customer and required line-item values are valid. ToolbagCRM identifies the exact row that needs attention when a description, quantity, price, or calculated total is invalid. The draft must total more than $0.

New invoices default to Draft status. After creation, ToolbagCRM confirms the draft and opens its invoice detail so you can review, edit, or send it. A linked-job draft can start empty at $0 only when that job's pricing is not visible to you, without exposing hidden amounts.

You can also start a new invoice from a job's detail page: click New Invoice in the job's Linked invoices section, and ToolbagCRM pre-fills the job's customer plus the current job. The customer field stays locked to that job's account, while Linked job can stay selected or be changed to No job attached before you create the draft.

Edit an invoice or review its due date ​

  1. Open a Draft or Sent invoice and select Edit.
  2. Review the Due date. If the date is marked as estimated, it was calculated from the invoice terms because no date was saved. Change it if needed, then save it as the contractual due date. A sent invoice with no usable date requires one before the review can be saved.
  3. For an invoice created directly in Invoices, correct the description, quantity, unit price, or unit when needed. An invoice managed by its source quote or completed-job workflow keeps those line items locked; when its due date needs review, Edit opens a due-date-only form.
  4. If a past due date could make a Sent invoice eligible for automatic charging immediately, review the warning before continuing.
  5. Select Save Changes. The customer, linked job, and payment terms stay unchanged. Paid and Voided invoices cannot be edited.

When you edit line items on a Draft whose date is only an estimate, leaving that estimated date unchanged does not turn it into a saved contractual date. Change the date deliberately when you are ready to save it.

Invoice detail view ​

Click any invoice row to open the full detail. The detail view includes:

Action bar ​

  • Print — Opens the browser print dialog for a print-friendly invoice card. Navigation, action buttons, flow graph, and internal history are hidden from the printed copy so customers only see the invoice details, your company's name and branding, available company contact information, bill-to information, line items, totals, and balance due. Team members without Company Profile read access can still print the invoice, but the optional company phone, website, and address are not included for them.
  • Edit — Correct a Draft or Sent invoice's due date and, when it is not managed by a source quote or completed-job workflow, its line items. A source-managed invoice that needs due-date review exposes only the date. The action is unavailable after the invoice is Paid or Voided and waits for company settings so dates use the company time zone.
  • Mark as sent — Use this after you have delivered the invoice through another channel. It moves the open balance into Receivables Aging based on the configured terms and due date; it does not email the customer or require Stripe.
  • Email invoice / Resend invoice — Queues an invoice summary email to the customer's saved address and shows the latest delivery status. The email does not include a PDF attachment; use Print and the browser's Save as PDF destination when you need a file. Emailing a Draft invoice changes it to Sent. The button is disabled when the customer has no email address or the invoice needs a saved due date, and it is unavailable on Voided invoices. For an unpaid invoice, online payment is the default: if Stripe or owner-email verification is not ready, no email is queued. Use Review business payment arrangement to explicitly approve contacting the business for direct payment instead; the invoice email then has no online pay link.
  • Copy Pay Link — Generates a public payment URL you can share with the customer. Requires Stripe.
  • Open Pay Link — Opens the customer-facing payment page in a new browser tab so you can preview what the customer sees. Requires Stripe.
  • Charge Card — Collects the balance due as a one-time card payment. Available on sent invoices to staff with card-payment access. Outside the demo, it requires Stripe; in the demo, it records a simulated payment without contacting Stripe.
  • Record payment — Records a full or partial cash or check payment collected outside Stripe. Available on unpaid, non-voided invoices to staff with Payments write access.
  • Void — Cancels the invoice and excludes it from receivables. Requires a reason (e.g., "duplicate invoice" or "customer disputed charge"). An invoice with completed payments cannot be voided until those payments are reversed or refunded. Voided invoices cannot be sent or paid.
  • Invoice number with its Draft, Sent, Paid, or Voided status badge and an inline status dropdown for manual status changes.
  • A separate payment badge: Unpaid, Partially paid, or Paid in full.
  • Paid: [amount] · Balance: [amount] beneath the badges so partial-payment progress stays visible.
  • Issued date and due date. A date calculated from terms is labeled Estimated due rather than shown as a saved contractual date.
  • Total amount and balance due (or "Paid in full" in green).

From section ​

Your company logo (or initials if no logo is set) and company name appear for anyone who can open the invoice. Phone, website, and address from Settings → Company appear only to team members with Company Profile read access. If a team member with Company Profile write access sees no contact information, an on-screen link guides them to add it; other roles are not shown that settings link.

Bill to section ​

Customer avatar, name (linked), email, phone, and address.

Linked job ​

If the invoice is tied to a job, the job title, status, and a link to the job detail are shown.

Line items table ​

ColumnContent
DescriptionWhat was billed
QtyQuantity
Unit PricePrice per unit
TotalQuantity times unit price
  • Subtotal
  • Total
  • Paid — any payments already applied (shown in green)
  • Balance Due — what is still owed (shown in red if overdue)

Status history ​

Every status change with timestamps and who made the change.

Payment history ​

After an invoice has a payment, this table shows each payment's date, original captured amount, method, and check number when applicable. When Stripe reports a refund, the payment row lists each refund amount and date plus the remaining Net amount. The invoice summary also shows the total refunded amount, amount paid, and balance remaining.

ToolbagCRM shows Loading payment history… while it retrieves those records. If the payment records cannot load, the invoice stays available and the page shows Couldn't load payment history with a retry action instead of treating the history as empty.

Flow card ​

The Flow card shows the invoice's current status, previous status changes, related activity, and planned next transitions. Use its Advance to... action to move the invoice one normal step forward, such as Draft → Sent → Paid. A Paid invoice has no normal advance action, but Void invoice remains available until the invoice is already Voided and always asks for a reason before saving.

Delivery and payment ​

Email an invoice ​

  1. Open the invoice detail and confirm that the customer has the correct email address.
  2. If Email invoice is disabled because the due date needs review, select Edit, review or choose the Due date, and select Save Changes first.
  3. For an unpaid invoice, online payment is the default. If your business has approved a direct payment arrangement instead, select Review business payment arrangement → Approve direct payment arrangement before emailing. The business must have a usable contact email or phone; the customer will receive contact details, not a self-service pay link.
  4. Select Email invoice. If an earlier attempt exists, the action reads Resend invoice.
  5. Review the delivery-status message. ToolbagCRM reports when the email is queued, being sent, accepted by the email provider, delivered, or failed. It also indicates whether the message included a pay link, used the approved direct arrangement, or was a paid receipt.

Emailing a Draft invoice changes it to Sent. The message includes the invoice summary and, for the default online-payment option on an unpaid invoice, an online pay link; it does not attach a PDF. If online payment is not set up, ToolbagCRM rejects that unpaid-invoice email without queuing it. Connect Stripe and verify the account owner's email, or obtain business approval for the direct arrangement and retry. The email action is unavailable after the invoice is Voided. In the ToolbagCRM demo, the delivery is simulated and no real email is sent.

Invoice emails are sent from noreply@toolbagcrm.com in the customer's saved English or Spanish message preference, falling back to English when no supported preference is available. Staff-written line items and custom wording remain as entered. When the issuing company has a valid support or billing contact configured, the email sets Reply-To to that address and directs replies only there. If the contact is missing or invalid, the email omits reply instructions.

Mark an invoice as sent ​

  1. Deliver the invoice through another channel, such as a printed copy or an email sent outside ToolbagCRM.
  2. Select Mark as sent on the invoice detail page.
  3. Review the confirmation, then select Mark as sent again.

ToolbagCRM changes the invoice to Sent and tracks its open balance in Receivables Aging using the configured payment terms and due date. This action does not email the customer or create a pay link.

When Auto-Charge becomes available, an eligible saved payment method may be charged when the invoice becomes due. Review the invoice and customer billing setup before confirming.

  1. Mark the delivered invoice as sent.
  2. Select Copy Pay Link and share the secure link with the customer, or use Open Pay Link to preview it first.
  3. The customer opens the link and pays by card through Stripe.
  4. ToolbagCRM records the payment automatically and updates the invoice to Paid when the balance is settled.

The public payment page opens in English or Spanish based on the recipient's saved language preferences. The customer can switch languages on the page; that choice stays selected if they reload the same link, without changing the preference saved on their customer record.

In the ToolbagCRM demo, the public invoice shows Demo payment instead of a card form. Select Simulate payment to preview the paid receipt and update that invoice in the current demo session. No card is charged.

Outside the demo, creating an online pay link requires a connected Stripe account and a verified owner email. If Stripe is not connected, ToolbagCRM prompts an authorized user to open Settings → Online payments; other team members can ask an administrator to connect it.

Charge a card ​

On a sent invoice, select Charge Card to collect the full balance due as a one-time card payment. Staff must have invoice write access and card-payment access.

In the ToolbagCRM demo, the dialog shows Simulate card payment instead of loading a Stripe card form. Select Simulate payment of [amount] to record one completed card payment in the current demo session and update the invoice. Select Cancel or press Escape to close the dialog without recording a payment. If the simulation fails, try the action again. No card is charged and Stripe is not contacted.

Manual payments ​

For cash or check payments collected outside Stripe:

  1. Open the invoice detail.
  2. Click Record payment.
  3. Choose Cash or Check and enter any positive amount up to the remaining balance.
  4. For a check, enter the check number and type the amount again in Confirm amount (USD).
  5. Click Record payment.

The payment appears in the invoice's Payment history and the Payments ledger. A partial payment leaves the invoice open with the reduced balance; paying the full remaining balance changes the invoice to Paid.

Invoice statuses ​

  • Draft — Created but not yet sent. Editable.
  • Sent — Delivered to the customer. Awaiting payment.
  • Paid — Payment received in full.
  • Voided — Cancelled and excluded from receivables. Requires a reason when voiding.
  • Overdue — Unpaid and past the due date (derived status). Voided invoices are excluded from overdue calculations.

Tips ​

  • Use Print from the invoice detail when a customer needs a PDF or paper copy; choose the browser's Save as PDF destination for a file. The printed layout removes internal navigation, action controls, and activity history so the document stays customer-facing.
  • Use the Flow card when you want a guided status change with confirmation and status-history context; use Void invoice there only when the invoice should be cancelled and excluded from receivables.
  • Search by invoice number, customer name, or job title, then use the status tabs and pagination controls to narrow the full matching set.
  • When following up from the Dashboard, check the Overdue summary's snapshot date and time zone before comparing its count or amount with a newer dashboard refresh.
  • Set due dates so overdue invoices are flagged automatically.
  • Use Money owed to find the oldest unpaid balances, then select a populated group to review the matching invoices.
  • Use Receivables explained on the Dashboard when you want direct links to sent invoices, drafts, and overdue balances for one currency.
  • Link invoices to jobs so the financial picture stays connected to the work.
  • Check the invoice history to see the full record when investigating a payment question.

Troubleshooting ​

"Online payments require Stripe" ​

ToolbagCRM requires a connected Stripe account to create an online pay link or charge a card. An authorized user can go to Settings → Online payments and complete the connection. You can still print or deliver the invoice, mark it as sent, and record cash or check payments without Stripe.

"Verify your email for online payments" ​

The account owner's email must be verified before you can create or share an online pay link. Check your email for a verification link or re-send it from your account settings. You can still mark the invoice as sent and record offline payments.

Mark as sent did not email the customer ​

Mark as sent records that you delivered the invoice through another channel; it does not send an email. Use Email invoice to send from ToolbagCRM, or continue delivering the invoice outside ToolbagCRM.

Email invoice is disabled ​

Add an email address to the customer record, then reopen the invoice. If the button's message says the due date needs review, select Edit, review or choose the Due date, and select Save Changes before retrying. Voided invoices cannot be emailed; create or use a valid non-voided invoice instead.

Emailing an unpaid invoice requires online payment setup ​

Online payment is the default. If Stripe is not connected or the account owner's email is not verified, ToolbagCRM does not queue the unpaid-invoice email. Connect Stripe and verify the email, then retry. Alternatively, if your business approves collecting directly, select Review business payment arrangement → Approve direct payment arrangement and retry. Add a usable business phone in Company settings or a contact email in Branding settings first; otherwise that direct-arrangement email is also rejected. A paid receipt does not need a pay link.

The delivery status says Failed ​

Confirm the customer's email address, then select Resend invoice. If the failure returns, retry after checking your connection and email-delivery setup; do not use Mark as sent unless you delivered the invoice through another channel.

Invoice total exceeds the $1,000,000 limit ​

Individual invoices are capped at $1,000,000. Split large amounts across multiple invoices if needed.

Line item values are rejected ​

Review the message beneath the highlighted row. When you create a draft with New Invoice, each line needs a description of 500 characters or fewer, a quantity above zero and no more than 100,000, an optional unit of 20 characters or fewer, and a unit price from $0 through $1,000,000. Unit prices and each quantity-times-price total can have no more than two decimal places. Remove any incomplete extra row before selecting Create Draft.

A customer-only draft must total more than $0, and every invoice is capped at $1,000,000. A draft linked to a job can start empty at $0 when pricing is not visible yet.

"Couldn't record the payment. Please try again." ​

The Record payment window stays open and keeps the amount you entered so you can retry. ToolbagCRM does not add the cash or check payment or change the invoice balance when it cannot safely finish the request. This can happen while ToolbagCRM confirms that an earlier online payment can no longer complete. Review the invoice's Payment history and the Payments page, wait briefly if an online payment is still being checked, then select Record payment again. Retrying the unchanged entry is safe; if the payment status remains unclear, do not collect or record another payment until you confirm the result or contact ToolbagCRM support.

"Couldn't create the invoice. Please try again." ​

Confirm that the selected customer and linked job are still available, correct any highlighted line-item values, and select Create Draft again. Retrying the same unchanged draft is safe: ToolbagCRM reuses the original create attempt so a lost response does not produce a duplicate invoice. If the first attempt already succeeded, the retry opens that invoice.

Money owed is unavailable ​

The aging summary requires read access to Invoices and Payments plus access to all Jobs. Its invoice drill-down also requires Customers read access. Ask an account owner to review your role if the invoice list is visible but aging totals or matching rows are not.

An invoice appears under Saved due date needed ​

Select Review affected invoice or Review affected invoices, open the invoice, and select Edit. Review the estimated date or choose a date when none is available, then select Save Changes. Until the due date is saved, ToolbagCRM does not treat the estimate as the contractual overdue date, keeps Email invoice disabled when review is required, and hides the dashboard's Send reminder action.

The Dashboard and Overdue list do not seem to match ​

Open the list from Review on the Dashboard and check the snapshot line above the Overdue list. ToolbagCRM carries the dashboard's company-day date and time zone into that link so both views use the same cutoff. A separately opened list or a later dashboard refresh can use a newer snapshot, and invoices paid, voided, or newly overdue after the earlier snapshot can change the current result.

"Linked job must belong to the selected customer" ​

Invoices can only be linked to a job that belongs to the same customer. If you change the customer after selecting a job, the job field resets — pick the job again from the filtered list, or leave it unlinked for a customer-only invoice.

"This invoice is managed by the quote or job it came from and can't be edited here." ​

The source quote or completed-job workflow still controls the invoice's line items. Return to that source workflow to correct the underlying work. If a source-managed invoice needs due-date review, Edit remains available for a due-date-only form; save the date there without changing the source-controlled items.

The Flow card does not show every invoice status as a button ​

The Flow card offers the next normal status as the main action, so a Draft invoice advances to Sent before Paid. After an invoice reaches Paid, there is no normal advance action; Void invoice remains available as a separate action, but ToolbagCRM will not void an invoice while completed payments are still applied.

"Reverse or refund completed payments before voiding this invoice" ​

ToolbagCRM will not cancel an invoice while completed payments are still applied. Select View payments in the warning to open Payments filtered to the relevant invoice. On a desktop, use the action in each payment row; on a phone, use it on each payment card.

  • For an eligible non-Stripe completed payment, select Reverse payment, enter the required reason, and confirm. ToolbagCRM audits the reason, marks the payment Voided, and reopens an underpaid invoice.
  • For a Stripe-linked completed payment, select Refund, review the matched charge in Settings → Online payments, and confirm the provider refund. Stripe-linked payments cannot be manually reversed in ToolbagCRM.

After every completed payment is Voided or fully Refunded, return to the invoice and retry Void invoice. A partial Stripe refund can reopen the invoice and appears in payment history with its date and Net amount, but the remaining charge must still be refunded before the invoice can be voided. Deposit invoices use the same safeguard and may say to reverse or refund the deposit payment.

“This invoice can no longer move to that status” ​

Close the status dialog, refresh the invoice, and review its current status. If it is not Voided, confirm every completed payment is Voided or fully Refunded, wait briefly while ToolbagCRM finishes checking earlier online payment attempts, and retry Void invoice. ToolbagCRM leaves the invoice unchanged unless it can confirm those attempts can no longer accept payment, which prevents a customer from paying an invoice as it is being voided. If the retry continues to fail, do not create or resend a pay link; contact ToolbagCRM support.

Cannot share a Draft invoice ​

Pay links can only be generated for invoices that have been marked as sent. Select Mark as sent on the invoice detail first, then use Copy Pay Link.

If the customer reports a broken payment link, the invoice may have been voided or the link may have expired. Generate a fresh link from the invoice detail.

“We're checking an earlier payment attempt” ​

The public payment page hides the card form while ToolbagCRM checks whether an earlier payment finished. Ask the customer to wait a moment and select Try again; ToolbagCRM rechecks that attempt before it offers another payment. If the message continues, review the invoice's Payment history and the Payments page before collecting payment another way, then contact ToolbagCRM support if the result is still unclear.

Built for contractors and home-service businesses.