Customer invoicing
Issuing customer invoices is the most common accounting action you take in PLANA Business Cloud. The workflow is the same whether the invoice is a one-off or derives from a sale order.
The flow
Draft ──validate──▶ Posted ──register payment──▶ Paid
│ │ │
│ │ │
▼ ▼ ▼
edit / delete cannot edit reconciled with payment
(must reverse instead)A draft invoice can be edited freely. Once posted, it is immutable and PLANA generates the journal entry. To "edit" a posted invoice you either reverse it (credit note) or correct via a new invoice.
Creating an invoice
From scratch
Accounting → Customers → Invoices → Create.
Fill in:
| Field | What |
|---|---|
| Customer | Pick from existing or create new |
| Invoice date | Defaults to today |
| Due date | Auto-calculated from the customer's payment terms |
| Reference / Bank account | Optional — appears on the invoice |
| Invoice lines | One row per product / service |
For each line:
| Column | What |
|---|---|
| Product | Pick a product (auto-fills price, account, tax) |
| Description | Free text (or product name) |
| Quantity | Default 1 |
| Unit price | Default from product; editable |
| Taxes | Auto-applied from product's default; verify |
| Account | Auto-applied from product's revenue account |
| Analytic account | Optional (see Analytic accounting) |
The footer shows subtotal, tax breakdown, total.
From a sale order
Sales → Orders → confirmed sale order → Create invoice.
PLANA prefills the invoice from the sale order lines. You can:
- Invoice the full order (default)
- Invoice a portion (e.g. milestone billing)
- Invoice based on delivered quantities
Multiple invoices can derive from one sale order.
Validating
Click Confirm. PLANA:
- Assigns the next sequence number (
INV-2026-XXX) - Generates the journal entry
- Moves the status to Posted
- Sets the lock date if the invoice is now in a closed period
After validation:
- The PDF is generated (download from the action menu)
- You can Send by email to the customer
- Payment can be registered
Sending to the customer
Three ways:
| Method | How |
|---|---|
| Email from PLANA | Action menu → Send → uses the email template; tracked in chatter |
| Download PDF | Action menu → Download / Print |
| Customer portal | Customer gets a portal link to view, download, and pay online |
Customer portal is configured per-customer in their contact record.
Registering payment
Once the customer pays:
Posted invoice → Register payment
| Field | What |
|---|---|
| Amount | Pre-filled with the invoice balance |
| Journal | Pick which bank journal received the payment |
| Payment date | Defaults to today |
| Memo | Optional — appears on the bank journal entry |
Click Create payment. PLANA creates the payment journal entry and reconciles it with the invoice. Invoice status → Paid.
Alternatively, when bank statements come in via PSD2 (or upload), PLANA matches transactions to invoices automatically (with your confirmation). See Bank reconciliation.
Credit notes
To reverse a posted invoice (full or partial):
Posted invoice → Action menu → Add credit note
| Reason | Common use |
|---|---|
| Modify | Reverse and re-issue with corrections |
| Cancel | Reverse without re-issuing |
| Refund | Reverse + register a refund payment |
PLANA creates a credit note (negative-amount journal entry) that reverses the original. Both records are linked in the chatter.
Recurring invoices
For subscriptions (Pro and Enterprise tier), use the OCA Subscriptions module — see Sales → Subscriptions.
For other recurring invoices, the standard pattern is:
- Save an invoice as a template
- Use Recurring documents to create new invoices on a schedule
Late-payment follow-up
For overdue invoices:
| Step | How |
|---|---|
| 1. See overdue | Customers → Aged Receivable → filter age > X days |
| 2. Schedule activity | "Call about INV-2026-XXX" |
| 3. Send reminder email | Use Follow-up → Send reminders |
| 4. Apply late fees | Configurable in Customer → Payment terms |
For 30/60/90-day automated follow-up emails, configure a follow-up policy in Configuration → Follow-up levels.
Common gotchas
| Issue | Resolution |
|---|---|
| Invoice posts but customer says they didn't get the email | Check the chatter — outgoing messages show delivery status; the customer's spam folder is a frequent culprit |
| Wrong tax applied | The customer's fiscal position drives tax; verify the customer's tax setup |
| Invoice number sequence skipped | Sequences are atomic; a number can be skipped if a draft was discarded after sequence assignment. Acceptable but rare; talk to your accountant if it concerns you |
| Can't edit a posted invoice | Correct — reverse and re-issue via credit note |
| Lock-date error on validation | The invoice date is in a closed period; either pick a current date or have an admin reopen the period |
Bulgarian invoice requirements
Bulgarian VAT-registered businesses must include on every invoice:
- Sequential number (PLANA's auto-sequence does this)
- Invoice date
- Tax ID of seller AND buyer (the customer contact must have a tax ID)
- Description of goods / services
- Unit price, quantity, total
- Tax rate and tax amount per rate
- Final total (gross)
The default invoice template emits all of these. If your custom template is missing any, fix it in Settings → Technical → Reports.
Where to read more
- Vendor bills — the mirror flow for bills you receive
- Payments — register customer + vendor payments
- VAT and Bulgarian fiscal — VAT handling
- Reports — sales tax, customer ageing
- Sales → Quotations — for invoices from sale orders