Getting set up

Import your data from Excel or CSV

When you start using BusinessSensor you can bring in your existing lists in one go instead of typing them: departments and stores, customers (with what they owe you), vendors (with what you owe them), item categories (each with its own accounts), items (with the stock you have on hand), your chart of accounts (with bank, cash, asset, liability and equity balances), room types (with their rack rates), rooms, production recipes (what each product is made of) and your employees with their pay (straight from your salary spreadsheet).

Files that don't look like a template — a stock count, a price list in Word, a photo of a menu — can be prepared for you with Convert with AI (see Convert your own files with AI).

Every row is checked first — nothing is saved until you have seen what will happen to each row and clicked Import.

Before you start

  • You need permission to create the kind of record you are importing (for example Customer master for customers). The page only offers what you may import.
  • Set up the things your rows refer to first: customer categories, departments/stores, item categories (with their accounts) and account types. For items you can let the import create missing categories. For items, stock transfers and employees you can tick Create missing stores (or departments): a store or department a row names that doesn't exist yet is created, and listed at the check step before anything is saved. A new store can receive a transfer but can't send one, because it holds nothing yet.
  • If your workspace has one store and no default store is set, items with opening stock and no Store go to that store; the check step says so.
  • Pick your go-live date, and make sure the accounting period it falls in is open (Setup → Fiscal Years). Opening balances and stock are posted on that date.
  • Import in this order if you are doing everything: chart of accounts → departments → item categories → customers → vendors → items → production recipes → stock transfers → room types → rooms → employees. Categories come before items, and room types before rooms, because the later ones refer to them by name.
  • For employees, set up Payroll → Pay components first if you can (housing, transport, union dues…). Pay items your file has that aren't set up yet can be added during the import.

Steps

  1. Go to Setup → Import Data and choose what you are importing.

  2. Click Download template for a ready-made spreadsheet, or use your own spreadsheet. The first row must hold the headings. The template helps you fill it in correctly:

    • Columns such as Category, Department, Store, Account or Room type have a dropdown of your own values, taken from your business when you download the template. You can still type a new one. Excel warns you first, and the import creates it or checks it.
    • Choices and Yes/No columns are dropdowns. Number and date columns refuse anything that isn't a number or a date.
    • Text columns keep what you type. A phone number like 0803… or a code like 0042 keeps its leading zero.
    • Click a cell to see what goes in that column.
    • The Example (not imported) sheet shows a filled-in row, and the Instructions sheet explains every column. Only the first sheet is imported.

    Download a fresh template after adding new categories or departments so the dropdowns include them.

  3. Fill it in (or paste from your old system), save it as .xlsx or .csv, and drop it on the page.

  4. Match columns. BusinessSensor guesses which of your columns is which; check each one, choose — ignore — for columns you do not need. Columns marked * must be matched or filled.

  5. Fill blanks with — give a value to use where a cell is empty or your file has no such column, e.g. the customer category, the department, the store holding the stock, or the opening date. Your column matches are remembered for next time; the fill-blanks values are not, so fill them again for each file.

  6. Click Check rows. Four cards count the rows: Ready, Ready, with a note, Already exist (skipped) and Need fixing. Click a card to list those rows.

    • Ready — will be imported exactly as described.
    • Ready, note — will be imported; read the note (e.g. a category will be created).
    • Already exists — the record is already there; it will be skipped.
    • Fix first — something is wrong; the message says what. These rows are left out.
  7. Optional: Rows to fix (.xlsx) downloads just the problem rows with a What to fix column. Correct them and import that file afterwards.

  8. Click Import. A progress bar shows the rows going in, 100 at a time. Keep the page open until it finishes; a large file takes a few minutes. Stop after this batch stops once the current batch is saved; what is already in stays in. To carry on later, import the same file again: rows already in are skipped.

  9. The results show what was created, skipped and failed. Recent imports at the bottom keeps a record of every import and each row's outcome.

Tips

  • Amounts may include currency symbols and thousand separators (₦1,250,000.00). A negative or bracketed amount (250.00) is a credit: a customer you owe, or a supplier who owes you.
  • Dates are day/month/year (31/12/2025). Real Excel date cells are always read correctly.
  • Yes/No columns accept Yes, No, Y, N, True, False, 1, 0.
  • Customers count as the same when both the name and the phone match, so two different "John Okafor"s can both be imported.
  • Items tracked by batch/expiry (medicines): fill Batch number and Expiry date for the opening stock.
  • Accounts: list parent accounts before the accounts that sit under them.
  • Liability balances (loans, VAT or salaries you still owe) go in the Opening balance column as a positive number. Each one is posted as a journal on the opening date — debit Opening Balance Equity, credit the liability — and you can find it under Accounting → Journal with the reference IMPORT-OB-LIAB. A negative number means you have paid more than you owe and is posted the other way round. Importing liability balances needs the Journal entries permission as well.
  • Income and expense accounts start each year at nothing, so a balance on them is not posted; last year's profit belongs in your retained-earnings equity account.
  • Imported records are ordinary records — edit them afterwards on their usual screens.

Departments and stores

  • A department is a store, kitchen, bar, outlet or office. Import them before items, because opening stock is recorded in a store.
  • Leave Department code blank and one is made from the name, the same way as category codes (Kitchen → KIT, Restaurants & Bar → RBA).
  • Holds stock and Sales point are Yes when left blank, as most hotel departments are set up. Put No for an office that neither stocks nor sells.
  • Your plan's branch limit applies: departments beyond it are refused, with the reason.

Item categories

  • Each category gets three accounts: income, cost of sales and stock. Name existing accounts in those columns, or leave them blank and new ones are created: Drinks Income Account, Drinks COG and Drinks Inventory Asset.
  • Leave Category code blank and a code is made from the name: the first three letters of a one-word name (Drinks → DRI), the initials of a longer one topped up to three letters (Mini Mart → MMA, Fries and Grills → FGR). If that code is taken, a number is added (DRI2). The check step shows each code before you import.
  • A Parent category must already exist or come earlier in the same file.
  • Who can use a new category. It is open to the Administrator group and to every role that already has every category. A role limited to some categories does not get it: tick it for that role in Setup → Security Groups, or its staff will not see the new items when they sell or buy.

Spare parts and raw materials

  • Put Yes in Used in repairs or production for items you use up rather than sell: spare parts fitted on repair jobs, raw materials and packaging for production. Only those items appear in the repair parts picker and in Consume raw materials.

Items with two units (Tin and Carton, g and Kg)

  • Unit is the smallest unit you count, use or sell in, for example Tin or g. Stock is kept in it.
  • Bigger unit is a second unit, for example Carton or Kg. Units in the bigger unit says how many it holds, for example 24 tins a carton. For Kg/g and litre/ml leave it blank: 1 Kg = 1000 g is filled in for you.
  • Put Yes in Stock & prices per bigger unit when your quantity, cost and price are per bigger unit. For example, 2 Kg at 9,000 becomes 2,000 g at 9 each, and the Kg price stays 9,000.

Stock transfers (moving stock between stores)

  • One row per item: Item name, From store, To store, Quantity (in the item's single unit), and optionally Date, Reference, Line note and Released by. Blank date = today; blank released by = you.
  • Rows with the same stores, date and reference become one transfer, exactly as if typed on Inventory → Stock Transfer. Each row's result shows the transfer it went into.
  • Transfers are received straight away: the stock is in the receiving store as soon as you import.
  • A row that moves more than the store holds on that date is refused, and the message says how much there is. Earlier rows of the same file count: moving 6 of 9 bottles leaves 3 for the next row. Import the opening stock first.
  • Importing the same file again skips lines that are already on a transfer, so stock is never moved twice.

Production recipes (what your products are made of)

  • One row per line of a recipe: Recipe (its name), Line, Item, Quantity per batch, and optionally Unit.
    • Line is Input for an ingredient and Output for what the batch makes. Blank = Input.
    • Unit is one of the item's units, for example Kg or Carton. Blank = its single unit. Grams of an item kept in Kg (or ml of one kept in litres) are converted: 500 g becomes 0.5 Kg, and the check step says so.
  • Rows with the same recipe name become one recipe, as if typed on Manufacturing → Production recipes. Each recipe needs at least one Output row.
    • Example: Agege bread | Output | Agege bread | 40 | Loaf, then a row for each ingredient (Agege bread | Input | Flour | 25 | Kg…).
  • Fixed quantity = Yes for an ingredient used the same however many batches are made, such as one tray liner. Cost share splits the cost between several products of one recipe. Shelf life (days) gives produced batches their expiry date.
  • Import the items first: every ingredient and product must already be a stocked item.
  • A recipe whose name already exists is skipped, so importing the same file twice doesn't duplicate recipes.
  • You need the Production recipes permission, and production must be part of your edition.

Room types and rooms

  • A room type needs its Rack rate. It is billed daily at that rate; add other billing periods, rate plans and taxes on Front Office → Room Types afterwards.
  • Its income account comes from its Item category (blank = Accommodation), or the Income account column. Tick Create missing categories to have a missing category created with its accounts.
  • Import the room types before the rooms. Each room names its Room type exactly as it is spelt on the Room Types screen.
  • Room name is what staff and guests see, such as 210 or 210 – Las Vegas (up to 50 characters). Rooms start vacant and available; put No in Available for a room that is out of service.
  • Your plan's room limit applies: rooms beyond it are refused, with the reason.

Employees from a salary spreadsheet

  • Use the sheet you already pay from. A title line above the headings is fine, and the TOTAL row at the bottom is skipped.
  • Pay items (Housing, Transport, Union dues…) are matched to your pay components and become each person's monthly allowances and deductions. An amount is a monthly amount; 10% means 10 % of basic. Blank or 0 means none.
  • Columns payroll works out itself are recognised and skipped: gross, net, PAYE / tax, pension, NHF, health insurance, taxable income, reliefs, annual totals and serial numbers. Overtime and bonus are entered on each pay run instead. Payroll recalculates all of these from the tax rules, so nothing is counted twice.
  • A pay column BusinessSensor doesn't know (e.g. Meal allowance): in Match columns, choose New allowance or New deduction for it. It is added under Payroll → Pay components with the default payroll accounts; check its tax and pension settings there afterwards.
  • People already on the payroll (same staff number, or the same name when there is no staff number) are skipped. To change an existing person's pay, edit them on the Employees screen.

Common problems

  • "… was not found. Check the spelling or add it in Setup first." → The category, department or account type in that cell does not exist. Add it in Setup (or, for item categories, tick Create missing categories), then check again.
  • "… falls in March 2026, which is closed." → The opening date is in a closed accounting period. Use a date in an open period, or ask an administrator to reopen it.
  • "Opening stock needs a store." → Fill the Store column or the Fill blanks with store, or set a default store in Setup → Preferences.
  • "This company has no "Opening Balance Equity" account …" on a liability row → Add an Equity account named exactly Opening Balance Equity (Setup → Chart of accounts), then import the file again.
  • "… you do not have the Journal entries permission." → Liability balances are posted as journals. Ask an administrator to import the file, or leave the balance blank and have someone with that permission post the journal.
  • "… its opening balance journal is waiting for approval" → Your company has an approval rule for journals. The account exists; the balance is posted once the journal is approved (Approvals).
  • Opening balances on income or expense accounts are not posted → This is deliberate: those accounts start each year at nothing.
  • "Already exists" on rows you expected to be new → a record with the same name is already there (for customers: same name and phone). Rename it in the file if it really is a different one.
  • An imported record is wrong → Fix it on its own screen. Imports cannot be undone in one click, because opening balances and stock are posted to the books immediately; a customer or vendor with no balance can simply be deleted.
  • .xls files → open them in Excel and Save As .xlsx.
  • Stock transfers: "Not enough stock: … in Store on …" → the store held less than the row moves on that date. Check the quantity and the date, import the opening stock first, or move less.
  • Stock transfers: "This item is already on an earlier row of the same transfer" → put the total for that item on one row (or give the rows different references).
  • **Rooms: "Room type: '…' was not found" → import the room types first, or fix the spelling to match Front Office → Room Types.
  • Production recipes: "has no Output row" → add a row with Line = Output for what the recipe makes, with how many one batch makes.
  • Production recipes: "Unit: '…' is not a unit of …" → use one of the units the message lists, or add the unit to the item first (for example a Crate of 30 eggs).
  • "Start date: '16TH MARCH' is not a date" → add the year. Dates like 22nd April 2024 are read, but a date without a year is never guessed.
  • Room types: "Item category '…' was not found" → tick Create missing categories, add the category first, or name an income account.
  • A title line above my headings → fine: the import finds the heading row itself (the first row that names at least two columns it knows).
  • Employees: a pay column shows "— ignore —" → it didn't match a pay component. Choose the component, or New allowance / New deduction.
  • Employees: "No basic pay" note → the person is added but left out of pay runs until you set their basic pay. Check the Basic pay column is matched.
  • Employees: tax or pension didn't come in → that's deliberate. Payroll works them out on each run. Check the tax rules under Payroll → Tax rules.
  • Employees: the import page isn't offered → you need the Company settings permission (the same as the Employees screen).

See it working on your own business

Start a 45-day free trial — no card needed — and follow this guide in your own practice company.