Registers

Find, Filter, Import and Export Cash Book Entries

The Cash Book list is a branch-scoped expense ledger with date and field filters, pagination, CSV import, selected export, backed-up deletion and refresh controls.

Menu path
Manage -> Cash Book
Verified from
Posnic demo and current POS source reviewed on 2026-09-08
Technical source evidence

Live local POS Cash Book list and Import Expenses Details dialog audited 2026-09-10, frontend/modules/settings_write.html view_expenses table toolbar, filters and import modal, frontend/static/script/js/modules/js/expenses.js expensesTable exportExpense deleteSelectedExpense, frontend/static/script/js/core/PosnicPro.js importTableFile exportTableData JSONToCSVConvertor, frontend/static/Import_sample_files/expenses.csv, api/src/controllers/expenses.controller.js import/export permissions and payloads, api/src/models/expense.model.js import normalization, timestamping, duplicate handling, export projection and recycle-bin backup

Cash Book listWhen no entries exist, the page prompts the operator to create the first entry or import a CSV file.
Import Expenses DetailsThe live import dialog was captured on 2026-09-10. Download CSV Sample before preparing data; there is no column-mapping or preview step in this dialog.
Report exportUse the report when the owner needs date-range evidence across branches.

List Controls

ControlSource surfaceUse it for
Rows per pageview_expenses_per_pageShow 5, 10, 25, 50 or 100 entries.
Date rangeview_expenses_daterangeFilter entries by business date/time.
Field selectorview_expenses_fieldsSearch Type, Category, Recipient or Approved By.
Search inputview_expenses_inputEnter the matching text for the selected field.
Importexpense_importImport Cash Book rows from a CSV file.
Export selectedexpenses_exportbtnExport checked rows from the table.
Delete selectedselected delete toolbarDelete checked rows when permitted.
Refreshrefresh toolbarReload the list after saving or changing filters.

Filter the List

The list is scoped to the active branch. Its table shows Amount, Type, Category, Approved by and Note; Recipient is searchable but is not a visible table column.

  1. Open Manage -> Cash Book.
  2. Confirm the active branch before interpreting the result.
  3. Open Filter and choose the date range when checking a shift or month.
  4. Select a field: Type, Category, Recipient or Approved By.
  5. Enter the search value.
  6. Click Apply.
  7. Review the displayed rows and the Showing ... of ... pagination total.
  8. Click Clear before starting a different search.

Understand the Import Contract

Cash Book import is a direct six-column load into the active branch. The dialog does not map columns or preview the result, and the importer does not apply the same validation rules as the New Entry form.

CSV columnRequired by importerOperational rule
amountYesUse a plain numeric value. A malformed non-empty value can be stored as zero, so reconcile every imported amount.
typeYesUse credit for Money In or debit for Money Out. Other non-empty text is not rejected but will not behave as a standard type.
categoryNoUse one controlled spelling so filters and reports group rows consistently.
recipientnameNoName the person or business when evidence requires it.
approvedbyNoThis remains unauthenticated free text, not a manager approval event.
descriptionNoUnlike manual entry, import currently accepts a blank note. Supply a useful note for every production row.

Import Cash Book CSV Safely

  1. Open Manage -> Cash Book and confirm the destination branch.
  2. Click Import, then download CSV Sample.
  3. Keep the exact header: amount,type,category,recipientname,approvedby,description.
  4. Remove formulas, totals, blank footer rows and currency symbols from the file.
  5. Use credit or debit exactly and make every amount numeric and greater than zero.
  6. Add a meaningful description even though the importer does not require one.
  7. Import a two- or three-row test file first.
  8. Refresh the list, clear filters and compare the inserted count and values with the source file.
  9. Open each test row and verify Type, Amount, Category, Recipient, Approved-by and Note before loading the remaining batch.

Import Behaviors That Affect Reconciliation

  • There is no Date column in the supported Cash Book CSV. Every inserted row receives the import date and time, so this tool cannot preserve the original historical transaction date.
  • Exact duplicate rows in one upload are collapsed using Amount, Type, Category, Recipient, Approved-by and Description together.
  • If any row is missing Amount or Type, the importer returns a CSV error list before inserting the batch.
  • The active plan may limit how many rows are considered. Count inserted rows after every batch instead of assuming the whole file loaded.
  • Imported rows inherit the active branch, signed-in user and import timestamp.
  • Use manual New Entry when the original business date must be retained, or confirm a separate migration process with the owner.

Export Selected Entries

The toolbar export is evidence for selected rows, not a complete audit export. Its CSV contains Amount, Type, Category, Recipient Name, Approved-by and Description only; it omits Date, Branch, Created-by and timestamps.

  1. Filter the list to the rows you need.
  2. Tick the checkbox beside each entry.
  3. Confirm the selected count is correct.
  4. Click Export Selected.
  5. Confirm the export dialog count and continue the download.
  6. Open expenses.csv and compare all six exported fields with the selected rows.
  7. Use the Cash Book report when the owner needs date range, branch context or a broader review.

Delete Selected Entries

Delete is controlled by Expense delete permission. The current implementation copies each selected record to the recycle_bin collection and then removes it from the live expenses collection.

  • Export first if the business keeps evidence of corrections.
  • Do not delete a real cash movement to make close totals look easier.
  • Confirm the selected count and the deletion prompt before proceeding.
  • A recycle-bin backup is created even when the Recycle Bin feature is not visible, but normal UI recovery still depends on the available restore workflow and permission.
  • Prefer edit when the entry is real but one field is wrong.

Troubleshoot List, Import and Export

ProblemLikely reasonAction
Expected row is missingThe active branch, date range or field filter excludes it.Confirm branch, click Clear, refresh, then search again.
Import dialog has no Upload buttonImport begins after a file is selected and parsed by the shared importer.Choose the prepared CSV and wait for validation feedback; do not close the dialog during processing.
Imported dates are all todayCash Book import assigns the import timestamp and has no Date column.Use New Entry for original dates or use an owner-approved migration method.
Fewer rows were importedExact duplicates were collapsed or the plan import limit restricted the batch.Compare unique source rows with the list count and import only the verified remainder.
Imported amount is zeroA malformed non-empty amount passed the import presence check and normalized to zero.Review the source CSV, correct or remove the bad row and verify the accounting result.
Export button warns to select a rowNo checked row is in the current selection.Tick the required rows and retry; use the report for broad date-range evidence.
Export lacks Date or BranchSelected export projects only the six Cash Book CSV fields.Use the Cash Book report or retain a separate audit extract with branch and date context.
Import, export or delete is missingThe user lacks Expense Write, Read or Delete permission respectively.Ask an administrator to review the role instead of sharing an owner login.