Finance Department
Roles covered: Accountant · Billing Officer · Cashier · CFO / Finance Director
Main modules: Invoices · Payments · Credit Notes · Proformas · Expenses · Bank Statement · Cash Statement · Chart of Accounts · Taxes · Currencies · Account Balances · eTransport · SAGA · WinMentor · Reports
Who uses this guide
| Role | What they do in CRMConnect |
|---|---|
| Billing Officer | Issues invoices, sends proformas, tracks payments, creates credit notes |
| Accountant | Bank reconciliation, Chart of Accounts, SAGA/WinMentor export, VAT reports |
| Cashier | Manages cash register (cash statement), records cash receipts and payments |
| CFO / Finance Director | P&L reports, cashflow, financial dashboard, reconciliation oversight |
Financial module map
REVENUE EXPENSES
─────── ────────
Invoices (Client invoices) Expenses
Proformas Vendor Invoices
Recurring Invoices Debit Notes (vendor debit notes)
Payments (Receipts) Account Balances (withdrawals)
Credit Notes
BANK ACCOUNTING CONFIGURATION
─────────────── ─────────────
Bank Statement Taxes (VAT)
Cash Statement Currencies (exchange rates)
Account Balances Payment Modes
Chart of Accounts Billing Config (invoice series)
REPORTING & EXPORT COMPLIANCE
────────────────── ──────────
Financial Reports eTransport (ANAF)
Expenses vs Income SAGA Export
Tax Summary WinMentor Sync
Sales by Period eFactura
Recommended daily routine
Morning (20–30 min)
1. Invoices due today and overdue/admin/invoices/list_invoices?status=4 — Overdue invoices/admin/invoices/list_invoices?status=1 — Unpaid invoices due today
Contact overdue clients or send an automatic reminder email.
2. Payments to confirm
Check bank statements received (bank email) against payments recorded in the CRM./admin/bank_statement — Reconcile bank transactions vs. CRM invoices.
3. Vendor invoices due/admin/purchase/myinvoices?payment_status=unpaid — Filter by due_date ≤ today
Approve payments or notify the manager about funds.
During the day
- Issue invoices for delivered orders or rendered services
- Record payments received (bank transfer, cash, card, online)
- Process expenses with attached receipts
- Reconcile the bank statement — match transactions with invoices
Weekly
- Revenue vs. Expenses report —
/admin/reports/expenses_vs_income - VAT report — collected and deductible VAT amounts per period
- SAGA / WinMentor export — if external accounting uses these applications
- Account balance check — Account Balances per bank account and cash register
Monthly
- Month-end close: full bank + cash reconciliation
- Generate reports for accounting (data export)
- Check recurring invoices generated automatically
- eTransport export for ANAF transport declarations
- Update exchange rate for foreign currency invoicing
Client invoices — issuing and tracking
Where: /admin/invoices
Creating an invoice
| Method | When |
|---|---|
| From an accepted proposal | Most common in B2B sales |
| From a Sales Order | Automatic or manual conversion |
| From a proforma | Convert to Invoice button on the proforma |
| Direct | Manual invoice without a prior document |
| Recurring | Auto-generated from recurring settings |
Invoice series (Billing Series)
Each company has numbering series configured at /admin/billing/config:
| Field | Notes |
|---|---|
type |
invoice / sales order / proforma / credit_note |
name |
Series name (e.g., "Series A 2026") |
start_number |
Starting number |
current_number |
Last issued number (auto-increment) |
default |
Default series per document type |
Invoice number format: [prefix]-[number] (e.g., CRM-001, F-2026-001).
Invoice statuses — what you do at each
| Status | Code | Finance action |
|---|---|---|
| Draft | 6 | Review and send |
| Unsent | 1 | Send by email with PDF |
| Partially paid | 3 | Follow up on remainder; communicate with client |
| Paid | 2 | Reconcile with bank statement |
| Overdue | 4 | Urgent action: phone call + formal email |
| Cancelled | 5 | Create credit note if already transmitted |
Due date
Calculated automatically: invoice_date + invoice_due_after_days (default: 30 days, configurable at /admin/billing/config).
Recurring invoices
Where: /admin/invoices/recurring
For subscriptions, rentals, retainers:
- Set the amount, frequency (monthly/quarterly/annual), start date and number of cycles
- The system automatically generates the invoice at each cycle (via cron job)
- Optional: the invoice is automatically sent upon generation
Proformas
Where: /admin/proformas
A proforma = unofficial advance payment or order confirmation document before delivery. It has no tax status, but the client pays based on it.
Proforma statuses
| Code | Status | Description |
|---|---|---|
| 6 | Draft | Not issued |
| 1 | Unpaid | Sent, no payment |
| 3 | Partial | Partial payment received |
| 2 | Paid | Payment fully confirmed |
| 4 | Overdue | Due date exceeded |
| 5 | Cancelled | Invalidated |
Converting Proforma → Tax Invoice
Upon receiving payment or delivering the product:
- Open the proforma → click Convert to Invoice
- An invoice is created with the same lines and amounts
- The proforma remains archived with the invoice reference
Recording payments (Receipts)
Where: /admin/payments or directly from invoice → Record Payment
Payment fields
| Field | Notes |
|---|---|
| Amount | Can be partial — invoice moves to Partially paid |
| Date | Value date (the bank transaction date, not the recording day) |
| Payment mode | Bank transfer, Cash, Card, Online — linked to a bank account/cash register |
| Transaction reference | Payment order number / bank reference — essential for reconciliation |
| Bank account | The specific IBAN account where the money arrived |
| Notes | Additional information |
Partial payments
Record as many partial payments as needed on the same invoice. When the total amount is covered → status automatically becomes Paid.
Advance payments on client account
If the client pays before the invoice is issued:
- Go to the client profile → Credits tab
- Add the amount as credit on client account
- When issuing the invoice → apply the available credit → reduces the amount due
Credit notes
Where: /admin/credit_notes
When to issue a credit note
- Invoice issued in error (wrong amount, wrong client)
- Goods returned by client
- Post-invoice discount granted
- Partial service cancellation
Credit note statuses
| Code | Status | Description |
|---|---|---|
| 1 | Open | Available unapplied credit |
| 2 | Closed | Credit fully applied or refunded |
| 3 | Void | Cancelled |
Applying a credit
Method 1 — Apply to an invoice:
From the credit note → Apply to Invoice → select the invoice → enter the applied amount.
Effect: tblcredits.amount reduces the balance on that invoice.
Method 2 — Cash refund:
From the credit note → Refund → amount returned to client recorded in tblcreditnote_refunds.
Credit note balance
Total credit = Amount from the credit note
Applied = SUM(tblcredits.amount) on invoices
Refunded = SUM(tblcreditnote_refunds.amount)
Available = Total - Applied - Refunded
Expenses
Where: /admin/expenses
Creating an expense
Key fields:
| Field | Notes |
|---|---|
| Amount | Amount excluding VAT (VAT added separately) |
tax / tax2 |
First and second VAT rate (supports multi-tax) |
| Category | Expense group (Utilities, Travel, Materials, etc.) |
| Payment mode | Which account was used for payment |
| Associated client | If the expense is billable to a client |
| Project | Allocation to a project for P&L per project |
billable |
1 = can be included in the client's invoice |
id_chart_of_account |
The account from the Chart of Accounts (for GL posting) |
| Receipt/Invoice | File attachment (receipt photos, PDF invoice) |
VAT on expenses
Automatic calculation: total = amount + (tax1% × amount) + (tax2% × amount)
Example: 500 RON expense + 19% VAT:
amount = 500tax_amount = 95total = 595
Recurring expenses
Configure an expense as recurring (rent, software subscription, insurance):
recurring = 1,repeat_every,recurring_type(monthly/quarterly/annual)- Cron job automatically generates the expense at each cycle
- Each recurrence → new record with the same data
Billable expenses
Expenses with billable = 1 appear available when invoicing the client or project:
- Create the expense + check Billable + associate the client
- When issuing the client invoice → Unbilled Expenses section → select expenses to include
- The expense becomes
Invoiced— no longer appears in future invoicing
Bank Statement
Where: /admin/bank_statement
Bank statement structure
BANK ACCOUNT (tblbilling_bank)
│ IBAN, bank, currency, associated GL account
│
└── STATEMENT (tblbank_statements)
│ period, opening balance, closing balance
│
└── TRANSACTIONS (tblbank_statement_transactions)
│ description, amount, date, transaction code
│
└── RECONCILIATION (tblbank_statement_transaction_reconciles)
link to invoice / expense / credit note
Reconciliation process
1. Receive bank statement (PDF / CSV from bank)
↓
2. Import or manually enter transactions in CRM
↓
3. Per transaction: system automatically looks for matching invoice
(by description, amount, payment reference)
↓
4. Confirm match or manually choose the invoice
↓
5. Transaction marked as reconciled
↓
6. Balance verified: opening_balance + inflows − outflows = closing_balance ✓
Importing bank statement
Supported format: CSV or DBF (import via /bank_statement/import_dbf)
Transaction types from the statement:
| Type | Description |
|---|---|
| 1 | Client invoice payment (inflow) |
| 2 | Expense payment (outflow) |
| 3 | Inter-account transfer (inflow) |
| 4 | Inter-account transfer (outflow) |
| 5 | Cash withdrawal (outflow) |
| 6 | Cash deposit (inflow) |
| 7 | Miscellaneous income (inflow) |
| 8 | Miscellaneous payment (outflow) |
Bank account balance
Balance = opening_balance
+ SUM(client invoice payments)
+ SUM(incoming transfers)
+ SUM(miscellaneous income)
− SUM(expenses)
− SUM(outgoing transfers)
− SUM(withdrawals)
Cash Statement
Where: /admin/cash_statement
Identical to the bank statement, but for the cash register (physical cash).
Technical difference: the cash register account has cash = 1 in tblpayment_modes.
Cash register specific operations:
| Operation | Where | Effect |
|---|---|---|
| Client cash receipt | Record payment with Cash mode |
Cash balance + |
| Cash payment to vendor | Expense with Cash mode |
Cash balance − |
| Cash withdrawal | tblpayment_modes_withdraw |
Cash balance − |
| Cash deposit | tblpayment_modes_income |
Cash balance + |
| Cash register → bank transfer | Inter-account transfer | Cash −, Bank + |
Chart of Accounts
Where: /admin/chart_of_accounts
Account structure
Code format: XXXX.NNNN (e.g., 4111.0001 = Client 1, 401.0001 = Vendor 1)
Main types:
| Range | Type | Examples |
|---|---|---|
| 4000–4999 | Receivable (client receivables) | 4111 — Clients, 4118 — Doubtful clients |
| 401–409 | Payable (vendor liabilities) | 401 — Vendors, 404 — Fixed asset vendors |
| Custom | Other accounts | Configurable per company |
Practical use
The Chart of Accounts is used in:
- Bank reconciliation — each transaction can be associated with a GL account
- Expenses — the
id_chart_of_accountfield allocates the expense to an account - Clients — the
coa_inputfield on the client profile links the client to the receivables account - SAGA/WinMentor export — account codes are mapped in the accounting export
Automatic account code generation
The generate_next_account_code() method automatically assigns the next available code in a prefix sequence. Generated codes do not duplicate within the same company.
Taxes and VAT
Where: /admin/taxes
VAT rates configured in Romania
| Name | Rate | Applicability |
|---|---|---|
| VAT 19% | 19 | Standard rate — services, general products |
| VAT 9% | 9 | Reduced rate — food, medicines, accommodation |
| VAT 5% | 5 | Super-reduced rate — books, social housing |
| Exempt | 0 | Export, medical services, education |
Multi-tax per invoice line
Each line in an invoice / expense can have two simultaneous taxes (tax and tax2):
- Useful for excise duty + VAT
- Or for specific tax splits
VAT report
Monthly, extract from Reports the collected VAT (on sales) and deductible VAT (on purchases):
- Collected VAT = SUM(tax_amount) from issued invoices
- Deductible VAT = SUM(tax_amount) from expenses and vendor invoices
- VAT payable = Collected VAT − Deductible VAT
Multi-currency and exchange rates
Where: /admin/currencies
Configuration
| Field | Notes |
|---|---|
name |
ISO code (USD, EUR, GBP) |
symbol |
Displayed symbol ($, €, £) |
isdefault |
One default currency (usually RON) |
rate |
Rate against the default currency |
Updating exchange rates
Automatic (BNR): The daily_bnr() function fetches daily rates from the National Bank of Romania — runs via daily cron job.
Manual: From /admin/currencies → edit the rate directly.
Invoicing in foreign currency
When issuing an invoice in EUR:
- Select
EURcurrency on the invoice - The system applies the current rate stored in
tblcurrencies.rate - The amount is displayed in EUR on the PDF and stored with the rate at the issue date
- Reports can consolidate in the default currency (RON) at the day's rate
Important: The exchange rate is fixed at the invoice issue date. Subsequent rate changes do not affect an already issued invoice.
Payment Modes
Where: /admin/paymentmodes
Configuring payment accounts
Each payment mode represents a distinct bank account or cash register:
| Example | Type | cash |
|---|---|---|
| BRD — IBAN RO49... | Bank | 0 |
| BCR — IBAN RO22... | Bank | 0 |
| Cash Register RON | Cash | 1 |
| Cash Register EUR | Cash | 1 |
| Stripe Online | Gateway | 0 |
Per-staff access control: The active_staff field (JSON with IDs) restricts which staff can see a particular account — useful for separating access to sensitive accounts.
Transfers between accounts
Where: From Account Balances → Transfer
Example: transfer RON from the cash register to the bank account:
- Source: Cash Register RON (cash = 1)
- Destination: BRD — IBAN
- Transfer amount
- Date
Effect: cash register balance − X, bank balance + X. Recorded in tblpayment_modes_transfer.
Account Balances — real-time financial balance
Where: /admin/account_balances
The module provides a consolidated view of all payment accounts with the current balance calculated from all transactions.
Balance formula per account
Current balance =
+ Opening balance (opening_balance)
+ Client invoice payments received
+ Incoming transfers
+ Miscellaneous income
− Expenses paid
− Outgoing transfers
− Withdrawals
Operations from Account Balances
| Operation | When |
|---|---|
| Add Income | Revenue that is not an invoice (e.g., tax refund) |
| Add Withdrawal | Cash payment without invoice (e.g., employee cash advance) |
| Transfer | Moving money between own accounts |
| View history | All transactions per account in chronological order |
eTransport (ANAF transport declaration)
Where: /admin/etransport
What eTransport is
A mandatory reporting system for road freight transport on Romanian territory — per ANAF requirements. You generate the declaration electronically before the physical shipment.
eTransport document structure
| Field | Notes |
|---|---|
operation_type |
Operation type (sale, purchase, internal transfer, return) |
partner_type |
Client or vendor |
document_series_and_number |
Invoice or delivery note reference |
date_document |
Date of the originating document |
Route: start_location_* |
Address where goods depart |
Route: end_location_* |
Destination address |
upload_index |
ANAF confirmation index after upload |
status |
Null = unprocessed, otherwise ANAF confirmed |
eTransport flow
1. Issue client invoice / delivery note
↓
2. Create eTransport document linked to the relevant invoice/note
3. Fill in: operation type, route, vehicle, carrier
↓
4. Generate XML → upload to ANAF portal or via API
5. Receive `upload_index` confirmation
↓
6. Goods can be physically shipped (eTransport document is active)
Accounting export — SAGA and WinMentor
SAGA Integration
Where: /admin/saga
What is exported:
- Clients (with CUI, address, banking details)
- Vendors
- Items (products/services catalog)
- Issued invoices (with lines, VAT, payment status)
- Vendor invoices (with lines, VAT)
Format: XML or SAGA proprietary format.
Trigger: Manually from the SAGA module or periodically via cron.
Typical use: The external accountant works in SAGA — periodically receives the CRM export for accounting entry.
WinMentor Integration
Where: /admin/winmentor
What is synchronized:
- Partner directory (clients + vendors)
- Mapped fields:
Denumire,CodFiscal,CodExtern,Sedii(registered office + work points),Conturi(IBANs with default flag) - Date format: DD.MM.YYYY (automatically converted)
Sync type: Upsert on (name, CUI) pair — updates existing partners, adds new ones.
Typical use: The internal accountant works in WinMentor — the CRM is the source of truth for partner records.
Financial Reports
Where: /admin/reports
Available reports
| Report | URL | What you analyze |
|---|---|---|
| Sales | /admin/reports/sales |
Revenue by period, agent, client group |
| Payments received | /admin/reports/payments_received |
Receipts per payment mode, period |
| Expenses | /admin/reports/expenses |
Expenses by category, project, period |
| Revenue vs. Expenses | /admin/reports/expenses_vs_income |
Monthly P&L, profit/loss |
| Total income | /admin/reports/total_income |
Sum of invoices issued per period |
| By payment mode | /admin/reports/payments_modes |
Cash received by payment channel |
| Credit notes | Credit Notes list | Available unapplied credits |
| Vendor invoices | /admin/purchase/myreports |
Vendor spending |
Revenue vs. Expenses report — the most important monthly
Displays per month:
- Revenue = SUM(invoice totals) for invoices in the selected period
- Expenses = SUM(expense totals with VAT) for the same period
- Profit = Revenue − Expenses
- Monthly trend chart (Highcharts)
Important filter: Select whether you want revenue by invoice date or payment date — the difference matters for cash basis vs. accrual reporting.
Exporting reports
Each report has an Export Excel button (if show_table_export_button is active in settings). The export includes all columns with applied filters.
Billing Configuration
Where: /admin/billing/config
Essential settings
| Setting | Notes |
|---|---|
| Invoice series | Add/edit numbering series per document type |
| Company details | Name, CUI, trade register number — appear on PDF |
| Default bank account | IBAN shown on the invoice PDF |
| PDF template | Colors, logo, format (A4/Letter), visible fields |
| Due days | invoice_due_after — calculated automatically at issue |
| eFactura | Configuration for ANAF electronic invoicing |
| Stamp/Signature | Images applied to the invoice PDF |
Fields visible on PDF (configurable)
view_phone, view_fax, view_email, view_website, view_logo, view_signature, view_send_date, view_client_code, use_product_code, view_product_code, use_description
Useful automations for Finance
Configurable in Workflow Automation (/admin/workflow_automation):
| Trigger | Action | Benefit |
|---|---|---|
| Invoice → Overdue | Automatic reminder email → client | Collection without manual intervention |
| Invoice overdue > 30 days | Task "Escalate collection" → manager | Alert for problematic invoices |
| Invoice paid | Sales agent notification | Immediate feedback for sales |
| Expense > 5,000 RON | Manager approval task | Control of large expenses |
| Contract expires in 30 days | Task "Renew or issue final invoice" | Zero lost contracts |
| Recurring invoice | Automatic issuance check | Confirmation that recurrings are running |
Common permissions for the Finance team
Ask the administrator at /admin/roles:
| Permission | Required for |
|---|---|
| Invoices → View / Create / Edit | Complete invoicing |
| Invoices → Delete | Deleting or voiding invoices |
| Credit Notes → View / Create | Credit notes |
| Expenses → View / Create | Expense management |
| Payments → View / Create | Recording payments |
| Bank Statement → View / Create | Bank reconciliation |
| Reports → View | Access to financial reports |
| Billing → View | Invoice series and billing settings configuration |
| Taxes → View | View VAT configuration |
| Currencies → View / Edit | Update exchange rates |
Quick references
Workflows: Lead → Cash · Purchase to Pay · Full Commercial Cycle
Modules: Invoices · Recurring Invoices · Proformas · Payments · Credit Notes · Expenses · Bank Statement · Cash Statement · Chart of Accounts · Billing · Taxes · Payment Modes · Currencies · Account Balances · eTransport · SAGA Integration · WinMentor Integration
Automate the most repetitive finance tasks with Workflow Automation — overdue invoice reminders, SAGA/WinMentor export triggers, and bank reconciliation alerts all run unattended so the team focuses on exceptions and analysis.
SLA breach data broken down by ticket priority and service category is your strongest case for product fixes or additional headcount. Export and present it quarterly — 'Module X generates 35% of all tickets' is a product conversation, not a support one.