CSV Imports
Every import works the same way: Download template, fill it in, choose the file, Check file, then Import. The file is a UTF-8 CSV with a header row. All rows are imported, or none: if the check finds problems, it lists them by row and column and nothing is written.
Budget imports
Section titled “Budget imports”On a budget’s page:
| Import | When | Who | Notes |
|---|---|---|---|
| Import lines (CSV) | Draft budgets | The budget’s owner, admins | One line per row. Category is a category name; parent is another line’s name, for a sub-line. |
| Import actuals (CSV) | Active budgets | Finance approvers, admins | One actual per row, in the base currency. Line is a line’s name or id; date is YYYY-MM-DD. A reference already imported is skipped, so importing the same file twice is safe. |
If actuals would take a line over budget: on a Block budget nothing can be imported; on a Warn budget you can Check with override and give a reason, which is audited.
Stock imports
Section titled “Stock imports”Stock → Items → CSV imports:
| Import | Who | Notes |
|---|---|---|
| Import items (CSV) | Stock managers, admins | One item per row. Category is a name and is created if missing; tracksLots and tracksExpiry are true or false. |
| Import opening balances (CSV) | Stock managers, admins | The stock a location starts with, one lot per row. Refused for an item that already has movements there. |
| Import issues (CSV) | Stock managers, admins, storekeepers | Distributions done offline, one per row: item, quantity and date, plus optional reference, lot, description, programme, purpose and grant (used by the distribution report). Lots are taken first-expiry-first-out when lot is empty; a reference already imported is skipped. |