Invoices
Everything you issue, year by year. From here they're created, marked as paid, duplicated and imported in bulk from PDFs.
The table#
One row per invoice for the chosen year and period, with number, client, date, base, VAT, IRPF, total and status. Above it: the search box (client, number or date; the cross clears it), the sort order (date, client, status or total) and the + Invoice button. Past 50 invoices the table paginates.
The table handles like a Finder list. Try it in the demo: select, right-click, change a status, copy a cell, delete and undo.
Statuses#
An invoice is Pending or Paid. It changes with a click on the pill, from the right-click menu or in bulk with several selected. Pending ones carry the days they've gone unpaid; past 30, the Overview flags them.
Gap in numbering#
If a number is missing between a year's invoice numbers (you have 12 and 14 but not 13), the table warns with a ⚠ at the top: “Gap in numbering”. The tax office requires consecutive series, so it's worth resolving — either record the missing one or fix a mistyped number.
Row menu#
Right-click on a row, or the “⋯” button at the end of the row:
- Edit: opens the panel with the invoice.
- Duplicate: creates another with the same data and the number suffixed “_copy” (F26_018 → F26_018_copy), for you to fix on opening. Handy for recurring ones.
- Mark as paid / pending.
- Delete: no confirmation, with Undo for a few seconds.
With several rows selected (⌘ or Ctrl + click to keep adding, ⇧ + click for a range), the menu offers marking or deleting all of them.
Creating an invoice#
+ Invoice, or the N key from any page. The form opens in a panel from the right; Esc or “Cancel” close it without saving.
| Field | Detail |
|---|---|
| Invoice no. | Free text, but unique within the year: if it already exists, Fyal won't save (“An invoice with that number already exists this year”). |
| Client | Picked from your list or created on the spot by typing the name. See Clients. |
| Date | With a calendar. It must belong to the selected year; otherwise the form says so and won't save. |
| Taxable base | In the invoice's currency. Greater than zero. |
| Currency | EUR by default; the others are chosen in Settings → Tax → Currencies. |
| Exchange rate | Only for a currency other than the euro. With AUTO the official rate for the invoice date is fetched; turn it off to type your own. |
| VAT % | 21 by default. 0 for exempt or intra-EU operations. |
| IRPF % | The withholding your client applies (15, or 7 in the first years). 0 if you invoice individuals or abroad. |
| Status | Pending or Paid. |
| Project | Optional. Links the invoice to a project so it counts towards its billing and margin. |
Currencies and exchange rate#
Fyal keeps the books in euros. An invoice in dollars or pounds stores its base in the original currency and, via the exchange rate, the base in euros the taxes use. VAT and IRPF are computed on the base in its own currency.
Invoices without a euro baseIf an invoice in another currency is left without an exchange rate, Fyal can't convert it: it's left out of the net profit and the instalment, and the income-tax block on the Overview says so. Open it and set the rate.
Importing invoices with AI#
If you already have the invoices as PDFs (or photos), there's no need to type them. Import opens a window where you drop the files — or just drag them onto the Invoices page. Each one goes through the AI, which reads number, client, date, base, VAT and IRPF, and presents it as an editable row.
- Drop the files. PDF, JPG, PNG or HEIC, several at once.
- Wait for the analysis. Each row fills in as it finishes. Anything already in Fyal with that number is flagged as a duplicate and isn't saved.
- Review. Fix whatever's needed right in the row. Missing required fields turn red and block saving.
- Save N invoices. If one fails to save, the rest still save and you're told which didn't.
Each imported invoice's date must belong to the selected year. If you're importing invoices from another year, switch the year at the top first.