Purchase
Export and Reconcile the Purchases CSV
Export CSV creates a lightweight working file from the purchase rows loaded in the browser. Check its scope and row set before treating it as a complete purchase register.
- Menu path
- Purchase -> Purchases -> Export CSV
- Verified from
- Posnic demo and current POS source reviewed on 2026-09-08
Technical source evidence
frontend/modules/purchaseOrders.html purchases_controls, frontend/static/script/js/modules/js/receiving_add.js exportCsv loadList PAGE_SIZE _lastRows, client Blob download purchases.csv, purchase order and receiving merged working window
What Export CSV Actually Downloads
Clicking Export CSV creates a file named purchases.csv in the browser. It combines the purchase-order and received-purchase records currently loaded for the Purchases screen. It does not change, receive, cancel or otherwise edit any purchase.
- The export is created locally in the browser as a CSV file.
- It is a snapshot; later changes in Posnic do not update the downloaded file.
- It is not guaranteed to include every historical purchase.
- It can contain rows beyond the 25 rows shown on the current page because the screen loads a larger working window.
- Use Purchase Reports when the task requires a complete controlled period or accounting total.
Export Step by Step
- Open Purchase -> Purchases and wait until the purchase count and rows finish loading.
- Use Search, field selection, Exact and date range when you need to narrow received purchases.
- Use Sort when the exported row order matters, then let the list refresh.
- Review the first and last visible purchase numbers, supplier names and statuses.
- Click Export CSV in the top action row.
- Open the browser download named purchases.csv.
- Compare its row count and purchase numbers with the working list before using it.
- Rename the downloaded copy with the date, branch and purpose so repeated exports are not confused.
Know the Export Scope
The current implementation stores the merged loaded rows before applying the Status and Expected quick filters. Those two quick filters can therefore make the screen look narrower without narrowing purchases.csv.
| Control or condition | What appears on screen | What to expect in purchases.csv |
|---|---|---|
| Current page | Up to 25 rows are displayed. | The file can include the larger loaded working window, not only the visible page. |
| Status quick filter | Shows Draft, Ordered, Partial, Received or Cancelled rows. | Does not narrow the CSV in the current version. |
| Expected quick filter | Shows due today, tomorrow or this week. | Does not narrow the CSV in the current version. |
| Search, supplier or date filter | Narrows received-purchase results. | Received rows follow the server filter, but purchase-order rows are loaded separately; verify the file. |
| Sort | Reorders the loaded merged rows. | The CSV follows that loaded-row order. |
| Older history | Pagination reaches only the supported working window. | Use reports or archive workflows for complete older history. |
Columns in purchases.csv
| Column | Meaning | Review note |
|---|---|---|
| No | Purchase order or receiving number. | Use this as the main key when opening the record in Posnic. |
| Kind | order for a purchase order; purchase for a received-purchase record. | Do not assume every exported row has already added stock. |
| Bill date | Document bill or order date formatted YYYY-MM-DD. | The code converts through UTC; verify dates around local midnight. |
| Created | Record creation date formatted YYYY-MM-DD. | This can differ from Bill date. |
| Supplier | Supplier name attached to the row. | Check duplicate or similarly named suppliers before grouping. |
| Status | Internal status such as ordered, draft, partial, received, closed or cancelled. | Interpret Kind and Status together. |
| Expected | Expected delivery date when present. | Blank is normal for records without an expected date. |
| Total | Document grand total from the list row. | Use reports and source documents for formal reconciliation. |
What the File Does Not Contain
The list CSV is deliberately compact. It is useful for a handoff or working review, but it is not an item-level purchase ledger.
- No item lines, quantities, SKU or barcode values.
- No line tax, input-credit detail or tax breakdown.
- No payment-method allocation or settlement history.
- No additional-charge breakdown, invoice attachment or notes.
- No return-item detail or inventory movement proof.
- No explicit branch or user column.
Reconcile Before Sharing
- Keep the original purchases.csv unchanged and work from a dated copy.
- Count data rows, excluding the header, and compare with the scope you expected.
- Check the earliest and latest No and Bill date values.
- Separate Kind order from Kind purchase before totaling received stock.
- Group by Status and investigate draft, ordered, partial or cancelled rows separately.
- Spot-check several totals against their purchase previews.
- Use Purchase Reports or the purchase PDF when item, tax or formal document detail is required.
- Store or send the CSV only through an approved business location because it contains supplier and commercial data.
CSV Problems and Corrections
| Problem | Likely reason | Correction |
|---|---|---|
| CSV has more rows than the filtered screen | Status or Expected is a client-side quick filter applied after export rows are stored. | Filter the downloaded file, or use a report with controlled criteria. |
| Older purchases are missing | The list exports only its loaded working window. | Use Purchase Reports or archive history for the required period. |
| Purchase orders appear despite a receiving search | Orders and received purchases come from separate list sources. | Use Kind to separate rows and verify No values. |
| Dates differ from the local display | CSV dates are produced through UTC ISO conversion. | Verify source documents, especially records created near midnight. |
| Spreadsheet changes dates or totals | Automatic type detection reformatted the CSV. | Import the CSV and explicitly set date and decimal column types. |
| Supplier names containing commas split incorrectly | The file may have been opened with the wrong delimiter settings. | Import as comma-delimited UTF-8; Posnic quotes every field and escapes embedded quotes. |
| A second export is hard to identify | The browser reused purchases.csv or added a numeric suffix. | Rename each approved copy with date, branch and scope immediately. |
| Only the header appears | No rows had loaded when export ran. | Return to Purchases, wait for the list, clear filters if needed and export again. |