Close pack: columns on every report sheet
Every report sheet in the exported close pack follows the same shape: a heading
block, a row of column headings, the rows themselves, a blank row, then a Totals
block. This page names every column and every total on all nine reports, and points
out where a figure means something other than what its heading suggests.
The columns are the same on both surfaces. Open a report card on the Report pack and the dialog shows the same columns, in the same order, under the same headings as that report's sheet in the workbook. So every table below is a lookup for both — read it with a sheet open or with the dialog open. What differs is how the figures are rendered and where the totals sit; that is the next section, and each report calls out its own quirks.
For the file itself — its name, its sheets and that heading block — see the close pack workbook. For working through the reports on screen — what to look at, in what order — see read the month's reports.
On screen versus in the sheet
The report dialog opens with the report's name, a Live or As at close chip, a Preliminary chip when the month is not closed, and the line Computed followed by the date and time the figures were produced. Then come the totals as tiles across the top, and the table underneath.
The sheet reverses that order and drops the styling:
| On screen | In the sheet | |
|---|---|---|
| Where the totals sit | Tiles across the top, before the table | A Totals list after the table, label and value on each line |
| A nil figure | 0.00 | An empty cell |
| A yes/no column | true or false, in lower case | TRUE, or an empty cell for no |
| A missing account code | — | An empty cell |
| Thousands and decimals | 35,958.02; whole-number counts still show as 19.00 | 35958.02; a count is written 19 |
| A report with no rows | No rows for this period | The report's own note — see the Note row |
| Sorting and filtering | Neither — the table is read-only, in a fixed order | Yours, once you have converted the columns you want to sort by |
Two differences are worth holding on to.
The dialog is a viewer, not a working surface. There is no sort, no filter, no search box, and no row you can click through to the records behind a figure. Each report shows its rows in the order the report itself produces, and that is all it does. To follow a number back to its entries, leave the report and use review the ledger.
Nil and "no" are written as nothing at all in the workbook, so a column can look sparse when every figure in it is in fact present. The screen is the place to check whether a blank sheet cell means nil or means the report had nothing to say.
Conventions that hold on every sheet
- Headings are written in title case, generated from the report's own fields. That
is why COGS appears as
Gross CogsandNet Cogs, and why the goods-received total readsGinr Balance— the letters are not being shouted at you, they are being title-cased. - Money is a plain number rounded to two decimals. No currency symbol, no thousands separator.
- Counts are whole numbers. Quantities can be negative where the underlying movement was.
- A yes reads
TRUE; a no is an empty cell. There is noFALSEanywhere in the workbook, so you cannot filter a column for it — filter for blanks instead, or read the report on screen, where the same cells readtrueandfalse. - A cell with no value is blank, not a dash and not a zero — and so is a cell whose value is nil. An account with no code leaves the code cell empty, and so does a variance of nothing.
- The
Totalsblock is a list, not a row. Each total is on its own line: the label in the first cell, the figure in the second. It is not a summed footer under the table, and it does not recalculate — the figures are the ones SKU.io produced. - With no rows, there are no column headings either, because the headings come from the data. See what an empty sheet looks like.
Income Statement
The month's trading result, one row per account with activity.
| Column | Holds |
|---|---|
| Code | The account's code. Blank if the account has none |
| Name | The account's name. Blank if the account has none |
| Type | The account's type, as the word SKU.io stores against it |
| Amount | The account's movement for the month, in its natural direction, always a positive figure |
| Total | Means |
|---|---|
| Revenue | Every income account added together |
| Direct Costs | Every direct-cost account added together |
| Expenses | Everything else on the sheet added together |
| Net Income | Revenue − Direct Costs − Expenses |
Points to watch:
Typeshows the stored word, not friendly text.Sales,DirectcostsandExpenseare the words a standard chart of accounts produces.Directcostsreally is one word — it is not a typo, and there is no space in it.- The
Revenuetotal is not the total of accounts typedRevenue. It is the income total, whatever the income accounts are typed as: a month whose only income account is typedSalesstill reports that figure underRevenue. Read each total by the group it names, not by the type word it happens to match. Amountis a magnitude, not a signed movement. Revenue and expenses are both positive on this sheet, and the sign convention lives in theNet Incomecalculation, not in the column.- An account with activity can still be missing. A row appears only when the month leaves the account with a balance in its normal direction, so an account whose debits and credits cancel out, or that moved the other way, has no row. A contra account is the usual case: Trial Balance can show a month's movement on a sales discounts account while the income statement carries no line for it.
- It is a single month, never a running year. The pack covers the period on the cover sheet and nothing before it.
- Rows are ordered by account code.
Balance Sheet
Balances as at the last day of the month: assets first, then liabilities, then equity.
| Column | Holds |
|---|---|
| Code | The account's code. Blank on the computed line described below |
| Name | The account's name |
| Type | The account's type, as the word SKU.io stores against it — Current, Currliab and Equity are the ones you meet most; which words you see depends on how your chart of accounts is typed |
| Section | assets, liabilities or equity |
| Balance | The account's balance at month end, in its natural direction |
| Total | Means |
|---|---|
| Total Assets | Every asset row added together |
| Total Liabilities | Every liability row added together |
| Total Equity | Every equity row added together, including the computed line |
Points to watch:
Sectionis lowercase —assets, notAssets— whileTypeis capitalised. They are two different columns doing two different jobs:Sectiontells you which block of the statement a row belongs to,Typetells you what kind of account it is inside that block.- A computed
Retained Earningsline sits in equity. It is not a posted account, so it has no code — the cell is blank in the sheet and reads—on screen — and you will not find it in your chart of accounts. It carries the cumulative result of trading up to the month end. - Accounts with a zero balance are left out, so the sheet is shorter than your chart of accounts.
- There is no balance check on the sheet. The workbook gives you the three totals
and stops — no "liabilities and equity" line, no balanced-or-not verdict. Add
Total LiabilitiestoTotal Equityyourself and compare it withTotal Assets. - Rows are grouped by section — assets, then liabilities, then equity — and ordered by account code inside each.
Trial Balance
The bookkeeper's staple: every account's opening balance, the month's movement on it, and where it finished.
| Column | Holds |
|---|---|
| Account Code | The account's code |
| Account Name | The account's name |
| Opening Balance | The account's balance from everything dated before the month started |
| Period Debits | Debits posted during the month |
| Period Credits | Credits posted during the month |
| Closing Balance | Opening Balance + Period Debits − Period Credits |
| Total | Means |
|---|---|
| Total Opening | Every opening balance added together |
| Total Debits | The month's debits added together |
| Total Credits | The month's credits added together |
| Total Closing | Every closing balance added together |
Points to watch:
- On balanced books
Total DebitsequalsTotal Credits. That equality is the point of the report — if the two differ, the month has an unbalanced entry in it. See blocking checks and warnings. Total OpeningandTotal Closingare sums of signed balances, not of debits and credits, so on healthy books they land at or near zero. On screen that reads0.00; in the sheet the cell beside the label is empty. Either way it is the expected result, not a missing figure — and aTotal Closingthat is not nil is the month telling you it does not balance.Opening BalanceandClosing Balanceare signed. A positive figure is a net debit balance; a negative figure is a net credit balance. Revenue, liability and equity accounts therefore show negative closing balances here, while the Balance Sheet sheet shows the same accounts positive in their natural direction. The two sheets agree — they use different conventions.- An account appears if it had an opening balance or any activity, so an account that was dormant all month still shows up carrying its opening and closing figures.
- Rows are ordered by account code.
Inventory Valuation
Stock value as at the last day of the month, one row per warehouse.
| Column | Holds |
|---|---|
| Warehouse | The warehouse name |
| On Hand Valuation | The value of physical stock in the warehouse |
| In Transit Valuation | The value of stock shipped between your own warehouses and not yet received |
| Inbound Valuation | The value of stock on open purchase orders, ordered but not yet received |
| Prepaid Valuation | The value of stock a supplier has invoiced you for but not yet delivered |
| Total Valuation | See the warning below — it is not the sum of the four columns |
| Total | Means |
|---|---|
| Total Valuation | Every row's Total Valuation added together |
Points to watch:
Total Valuationis on hand plus in transit only. Inbound and prepaid stock is reported alongside it but deliberately excluded from it: you do not own it in the warehouse sense yet, and counting it would overstate inventory against your inventory control account. Adding the four columns across a row will not give you the fifth, and that is correct.- Warehouse level only. The item-by-item drill-down stays on screen, under Insights → Inventory Valuation. The pack keeps the workbook to a size a bookkeeper can read.
- Stock not attached to a warehouse appears on a row named
None. Treat it as a prompt to look, not as an error in the export. - A warehouse can hold nothing but inbound stock. Its
On Hand Valuation,In Transit ValuationandTotal Valuationare all nil —0.00on screen, empty cells in the sheet — whileInbound Valuationcarries a real figure. The row is not broken; nothing has landed there yet. - A business with no inventory gets an empty report. The sheet carries the note "No inventory data"; on screen the dialog says No rows for this period.
- The
Total Valuationfigure here is the one the inventory-to-GL reconciliation compares against your accounts. See inventory and the close.
COGS
Quantities and cost of goods sold for the month, one row per sales channel.
| Column | Holds |
|---|---|
| Sales Channel | The channel name |
| Qty Sold | Units shipped on sales |
| Qty Returned | Units returned to stock |
| Qty Adjusted | Net units from adjustments, stock takes and inbound corrections |
| Net Qty | The month's net movement in units, once returns and adjustments are set against what was sold |
| Gross Cogs | The cost of the units you sold — your true cost of goods sold |
| Returned Cogs | The cost of units customers returned to stock, shown as a positive figure |
| Adjusted Cogs | The signed net cost of adjustments and stock takes, which can be positive or negative |
| Net Cogs | Gross Cogs with returns taken out and adjustments put back — the figure Total Cogs sums |
| Total | Means |
|---|---|
| Total Cogs | The net figure across every channel — the sum of Net Cogs, not of Gross Cogs |
Points to watch:
- Read
Gross Cogsfor cost of goods sold.Net Cogsfolds in returns and inbound movements, so a heavy restocking month can push it negative. That is not a fault in the figure; it is a different question being answered. Total CogsfollowsNet Cogs, notGross Cogs. If you are quoting cost of goods sold to a client, add theGross Cogscolumn yourself rather than taking the total at face value.- The headings really do read
Gross CogsandNet Cogs, notGross COGS. - No product-level detail. The pack stops at the channel.
- Sales with no channel appear on a row named
None. - A month with no sales gets an empty report. The sheet carries the note
"No COGS activity" and a
Total Cogswith nothing beside it; on screen the dialog says No rows for this period under aTotal Cogstile of0.00.
GINR Balance
Goods invoiced but not yet received, as at the last day of the month.
| Column | Holds |
|---|---|
| Metric | The short lowercase form of the component. Ignore this column |
| Label | The component in plain words: Invoiced, Received, Discrepancies, Adjustments |
| Amount | That component's value |
| Total | Means |
|---|---|
| Ginr Balance | Invoiced − Received + Discrepancies − Adjustments |
Points to watch:
- Read
Labeland ignoreMetric. The two columns name the same four things, andMetricis the short lowercase form —invoiced,received,discrepancy,adjustments. Note thatdiscrepancyis singular there while its label readsDiscrepancies; match onLabelif you are matching on anything. - There are always exactly four rows, whatever the month did. A quiet month shows
four nil amounts —
0.00on screen, empty cells in the sheet — rather than an empty report. - The figures are cumulative, not monthly. They run from your inventory start date up to the month end, because the balance being reported is the standing one — how much you have been invoiced for and not yet received, in total, on that date.
- This is the balance your accrued-purchases account should agree with.
Reconciliation Summary
The month's evidence that SKU.io and your accounting provider tell the same story — one row per connected accounting system.
| Column | Holds |
|---|---|
| Connection | The connection's display name, the one you gave it |
| Provider | The accounting system, as a short lowercase name — qbo, for example |
| Sku Total | SKU.io's total for the month on that connection |
| Provider Total | The provider's total for the same month |
| Variance | Sku Total − Provider Total |
| Matched Count | Entries paired with a document on the provider |
| Sku Only Count | Entries that should be on the provider but have no counterpart there |
| Provider Only Count | Documents on the provider with nothing matching them here |
| Total | Means |
|---|---|
| Provider Variance | Every row's variance added together as absolute values |
| Inventory Divergence | The gap between your inventory valuation and your inventory accounts at month end |
Points to watch:
- The display name is in
Connection, not inProvider.Provideris the system itself and only ever holds a short lowercase name, so two Xero connections both readxeroand are told apart byConnection. Provider Varianceadds absolute values. Two connections that are out by the same amount in opposite directions do not cancel to zero — the total reports the real amount of disagreement, not the net.Inventory Divergenceis not a per-connection figure, which is why it only appears in the totals. It is the same divergence the inventory-to-GL check reports on the close checklist.- The three counts do not add up to the month's entries. Entries that are intentionally not synced are in none of the three buckets. To see where the rest went, use see why entries haven't synced.
- A row of nothing but zeros means "not compared yet", not "nothing to compare".
These figures come from the reconciliation SKU.io has already run against that
connection. Until it has run for the month, the connection still gets its row, with
Sku Total,Provider Total,Varianceand all three counts at nil — even though the month plainly has entries in it. Check the row against the month's own totals before you read a variance of nothing as agreement. - A business with no accounting connection gets an empty report. The sheet carries the note "No accounting connection"; on screen the dialog says No rows for this period.
Trial Balance Reconciliation
Your account balances against the provider's, account by account.
| Column | Holds |
|---|---|
| Connection | The connection the comparison was made against |
| Account Code | The account code both sides were matched on |
| Account Name | The account's name in SKU.io |
| Sku Balance | Your closing balance for the account at month end |
| Provider Balance | The provider's balance for the same account, from the trial balance you captured |
| Variance | Sku Balance − Provider Balance |
| In Tolerance | Whether the variance is inside the tolerance the close check measures against — true/false on screen; TRUE or an empty cell in the sheet. For what that tolerance is and how it is changed, see close settings and custom checklist items |
| Total | Means |
|---|---|
| Accounts Reconciled | How many accounts were compared |
| Accounts Out Of Balance | How many were out — see the warning below |
| Total Abs Variance | The out-of-balance amounts added together as absolute values |
Points to watch:
- Capture first, then export. Without a captured provider trial balance for that month end there is nothing to compare against, so the report has no account rows and all three totals are nil. That looks identical to a perfect reconciliation and is the opposite of one. See capture your provider's trial balance.
- Only accounts matched by code get a row — on either surface. An account you have that the provider does not, and an account the provider has that you do not, are both left out of the table in the sheet and out of the table on screen. Neither surface lists them, so nothing on this report will name the account for you.
Accounts Out Of Balancecan therefore be larger than the rows you can count as out. An account the provider carries a balance on and SKU.io does not is counted as out of balance, and its amount is insideTotal Abs Variance, without appearing as a row anywhere. When the count does not tie to the rows, the difference is provider-side accounts with no match here — go to the provider's own trial balance and compare the list of account codes against your chart of accounts.Accounts Reconciledcounts only the matched rows, so it is the length of the table, not the size of either chart of accounts.Total Abs Varianceadds absolute values, so opposite variances do not cancel. It counts only the accounts that are out — an account inside tolerance contributes nothing, even when its variance is not exactly nil.- Rows are ordered with the largest variance first, ignoring the sign, so the accounts worth investigating are at the top of each connection's block.
Sync Category Reconciliation
Each transaction category's total for the month, split by how much of it reached the provider.
| Column | Holds |
|---|---|
| Category | The transaction category in plain words — for example Sales Order Invoice, Bill, Sales Credit, Inventory Adjustment |
| Entries | How many entries the category had in the month |
| Sku Total | SKU.io's own total for the category — the anchor figure |
| Synced Total | How much of it reached the provider |
| Excluded Total | How much is held back from syncing on purpose |
| In Flight Total | How much is still on its way |
| Needs Attention Total | How much is stuck and needs review |
| Settled | Whether nothing is in flight and nothing needs attention — true/false on screen; TRUE or an empty cell in the sheet |
| Total | Means |
|---|---|
| Categories | How many categories had activity |
| Categories Unsettled | How many are not settled |
| Sku Total | Every category's SKU.io total added together |
| Synced Total | Everything that reached the provider |
| Excluded Total | Everything held back from syncing on purpose |
| Unsettled Total | In flight plus needs attention, across every category |
Points to watch:
Sku Totalis the anchor, and the four bucket columns add up to it. SKU.io holds every accounting transaction whether or not it syncs, so the category total is the truth and the split tells you where each part of it currently sits. The same holds in the totals:Synced TotalplusExcluded TotalplusUnsettled Totalcomes back toSku Total.- Settled does not mean synced. A category is settled when nothing is in flight and nothing needs attention — a category that is entirely excluded on purpose is settled.
- Rows are ordered by the largest
Sku Totalfirst, ignoring the sign, so the categories that matter most to the month are at the top. - A category with no activity is absent, not shown as zero. The categories differ from month to month for that reason — a month with a vendor credit in it has a Vendor Credit row and a month without one has no such row. Do not read a missing category as a problem.
Entriesis a count, however it is rendered. On screen it picks up the same two decimals as the money columns and reads19.00; the sheet writes19.- A business with no accounting connection gets an empty report. The sheet carries the note "No accounting connection"; on screen the dialog says No rows for this period.
Sync status — why isn't everything on the provider?cuts the same money a different way. That panel, further down the Close tab, splits everything that hasn't synced by reason — Disabled, Pending Sync, Needs Attention, Retrying, Conflict, Failed — with a View on each. This report splits it by transaction category. Use this one to find which kind of transaction is unsettled, and that one to find out why.
Next steps
- The close pack workbook — the file, its sheets and the heading block above every table.
- Export the close pack — produce a pack and find the download.
- Read the month's reports — working through the same nine reports on screen.
- Review the ledger — the individual entries behind any figure in the pack.