Skip to content

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.

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 → 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.