An invoice bills a customer for goods or services you will be paid for later. Posting an invoice records the sale and the output VAT, and adds the amount to the customer's receivable (accounts receivable, or AR) until you record payment, apply a credit or apply a customer advance.
Use an invoice when the customer pays later. If the customer pays on the spot, use a Sales receipt. To price a job before the customer commits, start with a Quote.
Where to find it
- Sidebar: Sales → Documents → Invoices. The menu item shows a red counter when you have overdue invoices; clicking the counter opens the list filtered to Overdue.
- URL:
/ar/invoiceson solacount.com. A new invoice opens at/ar/invoices/create, and bulk entry at/ar/invoices/bulk. - Quick create: the + (quick add) menu in the top bar has New Invoice under Sales.
- From other screens: a quote or sales order you convert becomes a draft invoice, and recurring invoice templates generate invoices for you (see Recurring).
You only see the menu item if your plan includes invoices and your role has the Invoices → View permission.
The invoice list
The list shows one row per invoice:
| Column | What it shows |
|---|---|
| Number | Invoice number (default prefix INV-, set by your document numbering settings). |
| Date | Invoice date. This is the posting date. |
| Customer | The billed customer. |
| Subtotal | Total before VAT, after discounts. |
| Tax | VAT on the invoice. |
| Total | Amount the customer owes in total. |
| Balance | What is still unpaid after posted payments, applied credit notes and applied advances. Credit that is posted but not yet applied to the invoice does not reduce it. |
| Status | Draft, Unpaid, Partially Paid, Paid, Overdue or Void. |
In a saved view you can also show Currency, Subtotal and Tax columns and choose which columns are visible. Invoices created from a SolaStock shipment that you dismissed as duplicates are hidden unless you filter by Dismissed (see Dismiss a duplicate draft).
At the top of the list you can:
- search by number or customer,
- filter by customer, status (All statuses, Draft, Unpaid, Partially Paid, Paid, Overdue, Dismissed) and date range, then click Filter (or Clear). The search box reads Invoice no. or customer. Overdue counts an invoice only when something is still owed after payments and applied credit notes,
- switch or save a custom view (New view, Save view, shared with the team or private, optionally the default view),
- export the current view with Export Excel,
- open Bulk Invoices or create a single invoice with New Invoice (top-right).
Bulk actions on the list
Tick the checkbox on one or more rows (or Select visible records) to open the bulk toolbar:
- Post to GL posts the selected invoices. Every selected invoice must be an unposted draft, otherwise nothing is posted and you see "Every selected invoice must be an unposted draft. Nothing was posted."
- Delete drafts deletes only the selected drafts; posted invoices are skipped with the reason "Posted documents cannot be deleted."
- Export and Print for the selection.
Each bulk action shows a confirmation with the number of eligible and skipped records before anything runs. You can select up to 100 invoices at a time.
Create an invoice
-
Go to Sales → Invoices and click New Invoice (top-right).
-
Fill in the header:
Field Required Notes Issue date Yes Defaults to today in your organization's time zone. This is the date the sale and VAT are posted. Number — Shows Auto-generated. The number is assigned when you save. Due Date No Must be on or after the issue date. Drives the Overdue status and the A/R aging buckets. If blank, aging uses the invoice date. Debit (AR) Account — Read-only. Shows the receivable control account the invoice will debit (from your account defaults). Customer Yes Search and pick a customer; there is a single customer field. Use Add New Customer in the picker to create one without leaving the form (the name you typed in the search box is kept in the new-customer dialog). Archived or inactive customers cannot be invoiced. The name printed on the invoice is the customer you choose — there is no separate "customer name" box any more. Project No Shown when SolaProjects or project tracking is enabled. Choose Not linked to a project to leave it blank. You can only pick projects you are assigned to; when your role allows, you can also create a project from the selector and keep going. Price List No Shown when advanced pricing is on. Auto uses the customer's or organization's default list. Changing it reprices lines that were not manually priced. Currency Yes when multi-currency is on Defaults to your base currency. For a foreign currency, an exchange rate for the date is required; use Fetch or Add rate if none exists. -
Add line items in Line Items. Click Add line for each extra row.
Column Notes Type / Item / Description Search an item from your catalog, or type a free-text description. Picking an item fills its sale price, unit, revenue account and default tax. If the item doesn't exist yet, use the create-item option in the picker. Only active items with Available for sale switched on can be added to a new line ("This item is not available for sale. Enable Available for sale in item settings to use it on a new sale."); archived and historical-only items stay on the documents that already use them. Qty Must be greater than zero. Unit Optional unit of measure. Price Unit price. A price you type yourself is marked as manual; Reset to calculated brings back the price-list price. Disc. Optional line discount, as a fixed amount or a percentage. Tax Required when VAT is enabled (for example VAT 5%, zero-rated or exempt codes). A new line starts with your organization's standard VAT code; changing it, or choosing zero-rated or exempt, is never overwritten. Purchase-only tax codes are not offered. Revenue Account Required. Any active, postable revenue account. Defaults from the item or your default sales account. Amount Calculated line total. Use the row menu on a line to duplicate, reorder or remove it. Quantities and prices are shown the way you would type them: a quantity of 1 reads
1, not1.000000, and money keeps your currency's decimals (250.00; three decimals for currencies such as KWD). On a phone (screens narrower than about 770 px) each line is a card, and the Price label, the price box and the price-source note sit on separate rows so none of them overlaps. -
Choose the price mode at the top of the lines: Excl. tax (prices are before VAT) or Incl. tax (prices already include VAT). With Incl. tax the price you typed is the agreed gross amount and stays exactly that: SolaCount works out the VAT by subtraction, so the total on the invoice equals the prices you entered to the last fils. Switching when lines are filled asks "Change price mode? All populated lines will be recalculated using the new tax mode." — click Recalculate to continue.
-
Optional: set a Document Discount — Before Tax as a Percentage or Fixed amount. It is spread across the lines before VAT is calculated. It cannot be negative, exceed 100%, or exceed the subtotal.
-
Optional: type Notes (printed on the invoice), Internal Notes (not printed), fill any custom fields, and add files under Supporting Documents.
-
Check the totals panel: Subtotal, Line Discounts, Document Discount, Tax, Grand Total. The totals and discount cards stay inside the form on narrow screens. If saving fails, one message box at the top lists everything to fix and the first field with a problem is focused; the same message is not repeated twice.
-
Save from the footer:
- Save Draft keeps the invoice as a draft. Nothing is posted.
- Save & Post saves and posts it in one step. You see "Invoice INV-… created and posted to GL." If posting fails (for example a closed period), the invoice is still saved as a draft and you see a warning explaining why.
- Cancel leaves without saving.
After saving you land on the invoice's detail page.
The invoice detail page
The page is laid out as:
- Top-right action bar: Back to list, Print, and the main actions. Less common actions are under More Actions. You only see actions your role allows and the invoice's state permits:
- Edit (drafts only)
- Post to GL (drafts)
- Delete (drafts without payments)
- Record a payment (posted invoices that are not paid or void)
- Unpost (posted, when nothing blocks it)
- Void (posted, when nothing blocks it)
- Review shipment link (only on a draft that needs it: your organization is connected to SolaStock, the invoice has stock-managed items, and it is not already handled automatically). It opens the Review shipment link page, where you select the posted SolaStock shipment, tick the confirmation and click Confirm link
- Dispatch goods, Post invoice and dispatch goods, Cancel remaining dispatch, Retry cancellation, Create credit note for cancelled remainder, Choose Stock order and Dismiss draft (duplicate) — only for SolaStock-connected organizations; see Invoice dispatch and SolaStock fulfilment
- Main area: customer name and email, number, date, due date and status badge; any notes; the line table and totals; then Payments (payment number, date, amount, status) and Credits Applied (credit note, date, amount) when there are any; Journal entries that this invoice created; Supporting Documents; the Send Email panel; and the Discussion thread.
- Right sidebar: approval status (when approvals are enabled), the primary document preview, the customer, and the Summary card: Subtotal, Tax, Total, Paid, Credits Applied, and Balance Due. Under it are Edit, Post and Send Email buttons when available.
For a connected organization a strip under the header shows Invoice status (Posted or Draft), Warehouse request or Stock source, and Dispatch status. A void invoice always shows a Balance Due of 0, whatever was outstanding before it was voided. A fully paid invoice does not offer Record a payment.
Post an invoice
Posting writes the invoice to the general ledger.
- Open a draft invoice.
- Click Post to GL (action bar) or Post (sidebar).
- Confirm: "Post this invoice? A journal entry will be created and the customer balance will be updated."
Result: the status becomes Unpaid (or Paid for a zero-total invoice), the journal entry appears under Journal entries, and the balance is added to the customer's receivable and to A/R aging.
Posting is refused when:
- the invoice is already posted ("Invoice already posted."),
- the total is negative ("Cannot post an invoice with a negative total."),
- there is no date ("Document date is required to post to GL."),
- the date falls in a closed or locked accounting period, or no open period exists,
- the AR control account or the Output VAT account for a tax code is not configured ("AR control account not configured.", "Output VAT account not configured for tax."),
- approvals are enabled for invoices and the invoice has no current approval ("This document must have a current approval before posting."),
- a line uses an item that is no longer available for sale,
- (SolaStock-connected organizations) the customer already has an open, unshipped Stock sales order and nobody has chosen what to do — posting then opens the Existing SolaStock order page first, see Invoice dispatch and SolaStock fulfilment.
Edit an invoice
- Drafts can be edited freely: click Edit, change anything, and save.
- Posted invoices cannot be edited directly. To correct one, Unpost it (it returns to draft), edit it, and post again. If unposting is blocked, issue a Credit note instead.
- You cannot change the price mode or document discount of a posted document.
Unpost an invoice
Unposting removes the invoice's journal entry and returns it to Draft so you can fix it.
- Open the posted invoice and click Unpost (under More Actions if not shown).
- Confirm: "Unpost this invoice? The journal entry will be removed and the invoice will return to draft."
Unpost is not offered, or is refused, when:
| Blocking reason | Message | What to do |
|---|---|---|
| A payment is allocated to it | Payments are allocated to this invoice — remove allocations first | Reverse or edit the payment so it no longer pays this invoice. This includes an applied customer advance — reverse that application first. |
| A credit note is applied to it | Credit notes are applied — remove allocations first | Unapply the credit note from the credit note's page. |
| The posting date is in a closed or locked period | Accounting period '…' is closed / …is locked (audit-final) / Fiscal year '…' is locked (audit-final) | Reopen the period (if allowed) or issue a credit note in the current period. |
| The journal is matched in a bank reconciliation | Journal entry is matched in bank reconciliation | Undo the reconciliation match first, or use void/credit note. |
Unposting needs the Invoices → Unpost permission.
Void an invoice
Voiding cancels a posted invoice permanently. SolaCount posts a reversing journal entry (dated in an open period), marks the invoice Void, keeps its number for the audit trail, and sets its balance due to 0. A void invoice cannot be edited, posted again or un-voided.
- Open the posted invoice and click Void (under More Actions).
- Confirm: "Void this invoice? Its accounting entries will be reversed. This cannot be undone."
- You see "Invoice voided and all entries reversed."
Rules:
- You cannot void an invoice that has payments allocated to it. The action is hidden and the message is "Payments are allocated to this invoice — remove allocations first". Reverse or re-allocate the payment (or reverse the advance application) first.
- You cannot void an invoice that has credit notes applied. The message is "Credit notes are applied to this invoice — unapply them before voiding". Open the credit note and click Unapply on the allocation.
- A closed period on the original date does not block voiding, because the reversal is posted in an open period. A bank reconciliation match does not block voiding either.
- Drafts cannot be voided; delete them instead.
- Invoices imported as opening balances during data migration are corrected through the opening balance correction flow; Edit, Unpost, Void and Delete take you there with a notice.
- Voiding uses the same permission tier as unposting (Invoices → Unpost).
Unpost or void? Unpost when you need to fix and re-post the same invoice. Void when the sale should never have happened and you want the original kept as a cancelled record.
Delete a draft
- Open the draft and click Delete (or use Delete drafts from the list).
- Confirm: "Delete this invoice?"
Posted invoices cannot be deleted ("Cannot delete a posted invoice. Unpost first."), and neither can invoices with payments allocated ("Cannot delete: payments already allocated to this invoice.").
Dismiss a duplicate draft
When SolaStock ships goods it can draft a customer invoice automatically. If you already invoiced the same goods another way, that draft is a duplicate. Instead of deleting it, an authorized user can Dismiss draft (duplicate) from its page:
- Click Dismiss draft (duplicate). The dialog is titled "Dismiss this draft as a duplicate?" and explains: the draft is kept with all its lines and links, can no longer be edited, posted or sent, is hidden from the invoice list, nothing is posted or reversed, and the number is not reused.
- Enter the Reason (required) — 5 to 500 characters, for example "duplicate of INV-00149 created by the Stock shipment" — and click Dismiss draft.
The draft keeps the stored status Draft (so it never reaches any report, aging or customer balance) but is shown as Dismissed, with a notice "Dismissed on {date} by {user}. This draft has no accounting effect and cannot be edited, posted or sent." and the reason. The who, when and why are written to the audit log, and the Stock shipment that created the draft is marked so it cannot draft the invoice again. Dismissing twice changes nothing.
Rules: it needs the Delete invoices permission; only drafts created from a SolaStock shipment qualify (delete other drafts normally); it is refused when the draft has a journal entry, payments, credits or retainers, an open approval, an open fulfilment request or dispatch, held Stock allocations, or billed project time. To see dismissed drafts, filter the invoice list by Dismissed.
Record a payment against an invoice
On a posted, unpaid or partially paid invoice, click Record a payment. The customer payment form opens with the customer and this invoice already selected and the open balance filled in. Posting the payment reduces the balance; the status becomes Partially Paid or Paid. See Payments and Record a payment.
You can also settle an invoice with:
- a posted Credit note (Apply Credit), or
- an available Customer advance (Apply Advance).
Send an invoice by email
- On the invoice page click Send Email (sidebar) or expand the Send Email panel in the main area.
- Check the fields: To (defaults to the customer's email), Recipient name, Subject (defaults to Invoice INV-…), CC, BCC, and an optional Message.
- Tick Attach PDF (if available) to attach the PDF.
- Click Queue Email. You see "Invoice email queued."
The email is sent from your organization's sender identity and includes a secure button that signs the customer in to the Customer Portal to view and download the invoice. Every send is listed under Email History with date, recipient and delivery status.
If invoice approvals are enabled, an invoice without a current approval cannot be sent. Recurring templates cannot be emailed. See Send a document to a customer.
PDF and printing
- PDF opens the invoice as a PDF using your default invoice template (see PDF templates).
- Print prints the page view.
- From the list, select rows and use Print or the PDF export in the bulk toolbar.
Attachments, comments and links
- Supporting Documents: click Add Attachment to upload files (signed delivery note, PO from the customer, etc.). Files can be marked Internal. The first relevant file is shown as the Primary Document in the sidebar. Uploads are limited by your plan's document storage.
- Discussion: expand Discussion to write comments (Write a comment...), reply, pin, or mark a comment Internal only. Comments are visible to your team, not the customer.
- Journal entries: shows every journal the invoice created or reversed, with links to each entry.
- Document links: an invoice created from a quote or sales order keeps the link back to its source; the quote's Relationship Map shows the whole chain (quote → sales order → invoice → payments).
Bulk invoices (manual entry and import)
Use Bulk Invoices (list header, or the button on the new invoice form) to create many invoices at once. URL: /ar/invoices/bulk.
Manual entry
- Choose Manual Entry.
- Pick the page price mode: Prices exclude tax or Prices include tax.
- For each invoice card, fill in date, due date, customer, optional number and currency, and the lines (item or description, revenue account, qty, rate, discount, tax). Use Add Document for another invoice and Add line for more lines.
- Click Validate / Preview. Errors are listed per row.
- Click Save All.
Import from CSV or XLSX
-
Choose Import from CSV / XLSX.
-
Download CSV Template or XLSX Template. The XLSX template has dropdowns for customers, currencies, revenue accounts, tax codes and the tax-inclusive flag, and an instructions sheet. Download all site lists gives you the exact values that will match.
-
Fill one row per invoice (each row is a complete single-line invoice):
Column Rule invoice_dateRequired, dd-mm-yyyy.due_dateOptional, dd-mm-yyyy.customerRequired. Exact existing customer name or ID. invoice_numberOptional. Blank lets SolaCount number it. currency3-letter code. Blank = base currency. item_nameExisting item name or free text. Required unless line_descriptionis given.revenue_accountRequired. Exact account code or name. quantity,rateNumbers only. discountOptional line discount. tax_codeRequired. Exact tax code (for example the standard 5% VAT code). tax_inclusiveOptional Yes/No (also TRUE/FALSE, 1/0, Included/Excluded). Blank = page selection. line_discount_typeOptional fixedorpercentage(blank = fixed).document_discount_type,document_discount_valueOptional whole-invoice discount before tax. line_descriptionOptional line text. -
Choose file (CSV, XLSX or XLS, up to 10 MB) and click Import File.
-
Review the preview. Rows with problems are flagged and can be fixed on the page. If a file value conflicts with the page price mode, that row is rejected.
-
Click Save All.
Rules:
- The batch is all-or-nothing: if any row has a blocking error you see "Cannot save — there are blocking validation errors." and nothing is saved.
- Bulk invoices are always created as drafts. Post them afterwards from the list (select → Post to GL).
- Each invoice counts toward your plan's sales transaction quota.
- Customers, revenue accounts and tax codes must already exist.
- If the connection drops while saving, SolaCount checks whether the batch was already saved before letting you submit again, so you do not get duplicates.
Statuses
| Status | Meaning | What you can do |
|---|---|---|
| Draft | Saved, not posted. No accounting effect. Not in aging. | Edit, Post to GL, Delete, Send Email (if approvals allow). |
| Unpaid | Posted, nothing paid. | Record a payment, apply credit or advance, Send, Unpost, Void. |
| Partially Paid | Posted, some of the balance settled. | Record more payments, apply credit/advance. Unpost and void are blocked while payments or credits are allocated. |
| Overdue | Posted, unpaid balance, past its due date. | Same as Unpaid/Partially Paid. |
| Paid | Balance is zero. | View, PDF, Send. No Record a payment. |
| Void | Cancelled by a reversing entry. Balance due shows 0. | View and PDF only. |
| Dismissed | A duplicate draft created from a SolaStock shipment that was put aside. Stored as Draft: no accounting effect, never in aging or balances. | View only. Cannot be edited, posted, sent or deleted. |
Worked example (UAE, 5% VAT)
Al Noor Trading LLC buys consulting time and office chairs from you. Your base currency is AED and prices exclude VAT.
| Line | Qty | Price | Tax | Amount |
|---|---|---|---|---|
| Consulting services (revenue account Service Revenue) | 10 | 500.00 | VAT 5% | 5,000.00 |
| Office chair (inventory item, revenue account Sales Revenue) | 4 | 750.00 | VAT 5% | 3,000.00 |
| Subtotal | 8,000.00 | |||
| VAT 5% | 400.00 | |||
| Grand Total | 8,400.00 |
When you post, SolaCount creates this journal entry (the chairs cost you AED 450 each):
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Accounts Receivable (Al Noor Trading LLC) | 8,400.00 | |
| Service Revenue | 5,000.00 | |
| Sales Revenue | 3,000.00 | |
| Output VAT 5% | 400.00 | |
| Cost of Goods Sold | 1,800.00 | |
| Inventory | 1,800.00 |
The COGS and inventory lines only appear for inventory items tracked in SolaCount; services do not create them. When SolaStock is connected, stock movements and cost come through the Stock link instead.
With a document discount. If you add a 10% Document Discount — Before Tax, the discount (AED 800) is spread over the lines before VAT: net AED 7,200, VAT AED 360, total AED 7,560. By default revenue is posted net of the discount. If your organization uses gross discount posting, revenue posts at AED 8,000 and a separate debit of AED 800 goes to your sales discount account.
Tax-inclusive prices. With Incl. tax, a line priced at AED 1,050 is split into AED 1,000 revenue and AED 50 VAT.
Payment. Al Noor pays AED 5,000 on account. The invoice becomes Partially Paid with Balance Due AED 3,400:
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Bank | 5,000.00 | |
| Accounts Receivable (Al Noor Trading LLC) | 5,000.00 |
Effect on A/R aging
The A/R Aging Summary report (see Reports) includes every posted invoice that is not draft, void or cancelled and still has a balance, as of the report date. The balance is the total minus posted payment allocations and applied credit notes (and applied advances, which are recorded as settlement payments), counted up to the report date. It is bucketed by days past the due date (or the invoice date if there is no due date): Current, 1–30, 31–60, 61–90, 91+, and shown in base currency.
For the example above, invoiced on 1 September with a 30-day due date (1 October): on 15 October the remaining AED 3,400 shows under 1–30 for Al Noor Trading LLC. Drafts never appear. Voiding an invoice removes it from aging. An unapplied credit note or an unapplied customer advance does not reduce the invoice's aging until you apply it.
Permissions and plan
| Action | Permission (Settings → Roles) |
|---|---|
| See the list and invoices | Invoices → View |
| Create, bulk create | Invoices → Create |
| Edit drafts | Invoices → Edit draft |
| Delete drafts | Invoices → Delete |
| Post (single and bulk) | Invoices → Post |
| Unpost and Void | Invoices → Unpost |
| Dismiss a duplicate draft | Invoices → Delete |
| Dispatch, send, cancel and retry fulfilment | Invoices → View, plus Stock dispatch permission and warehouse access in SolaStock; posting parts need Invoices → Post |
| Send Email | Invoices → Send |
| Record a payment | Customer payments → Create |
By default the Owner, Manager and Accountant roles have all invoice permissions; Viewer can only view. The Sales role can view, create, edit drafts and send invoices but cannot post, unpost, void or delete them (see Roles and permissions). Saving a draft does not require the dimension-assignment permission; assigning tags does. Owners can change this per role. Assigning dimensions or projects needs the dimension and project access the form asks for.
If approvals are configured for invoices (see Workflow approvals), posting, sending and voiding wait for a current approval, and the approval panel appears in the sidebar.
Confirmations and feedback
Every consequential action (post, unpost, void, delete, bulk post) opens a confirmation dialog in your language that names the invoice and states the effect. After the action you see a success or error notice at the top of the page. If the connection drops mid-action, you see Status not confirmed — "We could not confirm whether the change completed. Check the current status before submitting again." Click Check current status rather than clicking the action again; SolaCount reloads the invoice so you can see whether it was posted.
Tips and common problems
- Post before you send so the customer sees final numbers and the invoice is in aging.
- "Revenue account is required for line item #2." Every line needs a revenue account; pick an item with defaults or choose one.
- Tax required. When VAT is enabled every line needs a tax code; use the zero-rated or exempt code where VAT does not apply.
- Can't void or unpost? Look at the Payments and Credits Applied tables on the invoice — remove those allocations first.
- Wrong customer on a posted invoice? Unpost, change the customer, post again. If it is already paid, reverse the payment first, or void and re-issue.
- Balance doesn't match the bank? Check for unapplied credit notes or advances on the customer — they sit on the customer's account until applied.
Related
- Quotes · Sales orders · Sales receipts
- Credit notes · Refund receipts · Customer advance payments · Customer credit and balances
- Invoice dispatch and SolaStock fulfilment · Customer statements and sales reports
- Payments · Customers · Recurring
- Taxes and VAT · Multi-currency · PDF templates
- Fiscal years and lock dates · Workflow approvals · Reports
- Create an invoice (end-to-end guide) · Send a document to a customer