Sales & Purchasing is the gateway through which business data enters Karitm. Every invoice finalized here produces three effects at once: an accounting document is issued, warehouse inventory is moved, and the counterparty's (customer's or supplier's) account is updated. If the invoice is subject to tax, the process of submitting it to the Tax Payers System also begins from here.
For this reason, this module should be the starting point for training any new user: almost every other concept in the system (documents, warehouse, treasury, tax, customers) can be explained through the lens of a single invoice.
Module structure
The sales side has seven pages: Quick Invoice, New Sale, Sales Invoices, Sales Pre-Invoices, Sales Return, Sales Return Invoices, and Comprehensive Sales Analysis Report.
The purchasing side has five pages: New Purchase, Purchase Invoices, Purchase Pre-Invoices, Purchase Return, and Purchase Return Invoices.
There are two major differences: "Quick Invoice" and "Comprehensive Analysis Report" exist only on the sales side, because sales tends to be more frequent and more analysis-worthy in most businesses.
Statuses
Invoice status
| Status | Meaning | Financial effect | Inventory effect | Editable |
|---|---|---|---|---|
| Draft | Invoice still being prepared; same as a "pre-invoice" | None | None | Yes |
| Operational | Invoice registered and in progress | Yes | Yes | Limited |
| Finalized | Invoice confirmed and closed | Yes | Yes | Only via amendment |
| Voided | Invoice voided with a reversing effect | Reversed | Reversed | No |
In the filter panel of the list page, the two statuses "Operational" and "Finalized" are selected by default. This means a new user will not see drafts in the main list unless they change the filter or enter through the "Sales Pre-Invoices" page.
Tax status
Clicking the "Tax Status" button in the list toolbar opens a color-coded guide to these six states:
| Status | Meaning |
|---|---|
| Not sent | Not yet sent to the Tax Payers System |
| Pending processing | Sent and awaiting a response from the tax system |
| Accepted | The tax system has confirmed the invoice |
| Rejected | The tax system rejected it; the error must be resolved and the invoice resubmitted |
| Voided | The tax invoice has been voided |
| Unknown | Status cannot be determined — usually a communication error or a non-taxable invoice |
Tax credential configuration is done under "Administration ← Tax Management ← Configuration," and the overall submission report can be seen in "Tax Operations Report."
The "Sales Invoices" page
This page is the reference pattern for every list in the system; whatever you learn here is repeated in the purchase list, the returns lists, and the rest of the modules.
Columns
| Column | Default | Description |
|---|---|---|
| Invoice number | On | The invoice's serial number |
| Title | Off | Optional descriptive title of the invoice |
| Customer | On | The invoice's counterparty |
| Date | On | Issue date (solar/Jalali) |
| Due date | On | Settlement deadline |
| Total amount | On | Final invoice amount |
| Received | On | Sum of registered receipts |
| Remaining | On | Total amount minus amount received |
| Status | On | Invoice status and tax status badge |
| Actions | On | The row's "More options" menu |
Because the "Title" column is off by default, the column-settings gear icon shows a "1" badge; that is what this number means.
Filters and counters
The filter panel (funnel icon) includes "From date," "To date," and "Status"; status is shown as multi-select chips. Two buttons, "Apply" and "Clear," sit at the bottom of the panel, and until you click "Apply," a filter change has no effect.
The four counters below the table: Total — the total number of records, Loaded — what has been fetched so far, Remaining — the rest, and Filtered — the number matching the current filter. Scrolling brings in the next batch.
Each row's "More options" menu
| Option | Function |
|---|---|
| Waybills | View and register the waybill(s) linked to this invoice |
| Settle invoice | Register a receipt for this invoice; connects to the Treasury flow |
| View documents | Show the accounting document(s) generated from this invoice |
| Sales return | Start the return process with this invoice pre-selected |
| Finalize invoice | Confirm the invoice; after this, editing is only possible via amendment |
| Check maturity averaging | Calculate the average due date of the cheques linked to this invoice |
| Tax history | Record of submissions, responses, and errors from the Tax Payers System for this invoice |
The contents of this menu are dynamic: options appear or disappear based on the invoice's status and the user's permissions. For example, "Finalize invoice" is not shown on an already-finalized invoice, and "Tax history" does not appear without the tax permission.
Permissions for this page
- Read all or read own records — to view the list
- Create — for a new invoice
- Edit all or edit own records · Delete all or delete own records
- Read deleted records and restore — to work with deleted records
- Two dedicated permissions: amend sales invoice and void sales invoice
- Tax section: apply tax on invoice, and to view the credential, read tax credential
"New Sale"
The full sales-invoice issuance form, in three areas:
Invoice header
Customer, date, due date, title, source warehouse, currency
Line items
Item or service, quantity, unit, unit price, discount, tax
Invoice footer
Sum of items, overall discount, tax, total amount, description
- Item selection is done by searching the name or scanning a barcode. If an item has batches, selecting a batch is mandatory.
- The unit price is suggested from the item's last sale price or base price, and can be changed.
- A discount can be applied to a single line item or to the whole invoice.
- Saving as a draft keeps the invoice without financial or inventory effect, and it can be tracked from "Sales Pre-Invoices." "Register" makes it operational, and "Finalize" closes it.
Invoice charges
Until recently, charges like a service fee, packaging, or a delivery fee were defined in a single ready-made text setting on the cash register. Now these charges are proper server data, made up of two parts: charge types (what the charge is, how it's calculated) and automatic rules (when it applies to an invoice). When a charge lands on an invoice, it creates a separate line; that line is not a product — it's a charge line, and it isn't counted in product sales reports.
Charge types
Each charge type has the following properties:
| Section | Field | Description |
|---|---|---|
| Identity & service | Code, title | A unique identifier and a display name |
| Corresponding service | The item or service the charge line is booked against; that item's unit and tax rate are also used | |
| Calculation mode | Fixed amount | A set amount on every order |
| Percentage | A percentage of the order amount, with a selectable basis | |
| Per unit | Amount × total quantity of order line items | |
| The service's own price | The amount is exactly the service's price in the item catalog; it isn't retyped | |
| Per person | Amount × number of guests in the service point's session |
For the percentage mode, the basis is one of three options: before any discount, after line-item discounts (default), or after the invoice-level discount; a floor and a ceiling amount can also be set.
Behavior switches on each charge type:
| Switch | Meaning |
|---|---|
| Invoice-level discount applies to it | The invoice header discount is also calculated on this charge |
| Reduced proportionally on return | On a return, this charge's amount is reduced by the same proportion as the returned goods |
| Manual amount override allowed | The user can manually change the amount when issuing the invoice |
| Cashier can remove it | The cashier is allowed to remove this line from the invoice |
| It's a pass-through amount | The amount simply passes through from the customer, like a tip or a fee paid on to a third party |
Every charge type can be used for sales, purchasing, or both. When it also applies to a purchase invoice, an extra section appears: Purchase treatment — either "period expense" (the previous behavior) or "add to the cost of goods" (freight, customs duty, and the like are allocated onto the cost of the goods on that same invoice). In the second case, an allocation method is also chosen: by amount, quantity, weight, or volume.
Automatic rules
A rule determines which charge applies to which order; no amount lives on the rule itself. A rule's conditions:
- Fulfillment method — on-premise, customer pickup, delivery by our own courier, shipment by a carrier, or no delivery (multi-select)
- Order origin — staff entry, online storefront, or table QR order (multi-select)
- Invoice type — sales or sales return; empty means both
- Order amount range — from the net amount of goods to the net amount of goods, before tax
- Time-of-day window and days of the week — local time; for an overnight window like "22:00 to 02:00," both times are filled in
- Holidays — doesn't matter, holidays only, or non-holidays only, based on the organization's holiday calendar
If no condition is set, the rule applies unconditionally to every sale. A rule only accepts the sales side; it can't be defined for a purchase invoice.
If order-level fees were previously defined under "General Settings," a "Bring in from Order Charges" button appears above the charge-types list, migrating those old rules into this page.
Tax
The tax on each invoice line item is shown right there on the row, in the "Tax" column: a checkbox to turn that line's tax on or off, and the tax percentage next to it. This percentage is automatically read from the item's own tax rate; if the item has no rate, it falls back to General Settings' default tax rate; only when neither is set does manual percentage entry open up for that line. For lines belonging to a package or bundle, each item's tax is calculated separately and summed on the package header row.
The invoice's total tax appears in the summary card (next to the items table) as its own row labeled "Tax," and is included in the final "Total amount."
Selling a package or bundle
Selecting a package or bundle from the item picker adds all of its items to the invoice at once, grouped under one package header row.
- Equal quantity. All rows belonging to a package must carry the same quantity; changing the quantity on the package header row applies it to every item in that package. Member rows can't be deleted individually or given their own quantity — deleting the whole package is the only way to remove one. Unequal quantities are rejected by the server, so this rule is also enforced before saving.
- The package price governs. Instead of setting each item's price on its own, a total amount or discount percentage is entered on the package header row itself; the gap between that amount and the sum of the items' prices is spread across the member rows as a discount.
"Quick Invoice"
A lightweight, keyboard-driven version of the sales form, designed for the cash register and frequent in-person sales. Its main difference from "New Sale" is that it is optimized for speed: the customer is optional (cash sale to a walk-in customer), line items can be added by scanning a barcode without a click, and settlement is registered on the same page without going to Treasury.
This page is typically used alongside the "Service Points" module and "Payment Gateway / POS Device Management." For in-person selling at the register, see the Point of Sale documentation.
Sales return
The first step is an invoice selector: a search box with the hint "Search by number, party, or amount," and a table with columns for row number, invoice number, customer, date, total amount, and status. Clicking a row changes the blue banner above the table to "Selected invoice: invoice number — customer name." At the bottom of the page are two buttons, "Confirm" and "Cancel."
Each row in this list also shows the invoice's refund status: a gray "Partially refunded" chip means part of this invoice has already been returned, and a red "Fully refunded" chip means nothing is left to return — selecting such an invoice is rejected with an error message.
The "Total" counter on this page is not the same as the counter on the "Sales Invoices" page, because this list is built from invoices eligible for return, not the sales list's default filter. The difference in the number is normal, expected behavior.
After "Confirm," the second step opens, where the returnable line items and quantities are selected. A return can be partial; the entire invoice does not have to be returned.
The cap on each line is the remaining refundable quantity, not the originally sold quantity: if 3 of 10 units of an item were already returned, only 7 units are returnable this time. Trying to return more than this cap is stopped with an error message before saving; if that same line has already been fully refunded, the message "This line has already been fully refunded; nothing is left of it" is shown instead.
Effect of registering a return: the goods are returned to the warehouse, a reversing accounting document is registered, the customer's debt is reduced, and if applicable, a tax amendment or return tax invoice is generated. The list of all returns is in "Sales Return Invoices."
Purchasing side
The structure of the "New Purchase" form mirrors "New Sale" with three differences: the counterparty is called "Seller" instead of "Customer"; a destination warehouse is selected instead of a source warehouse; and the unit price is suggested from the last purchase price. Registering a purchase invoice increases warehouse inventory and creates a payable to the supplier.
| Feature | Sales list | Purchase list |
|---|---|---|
| Counterparty column | Customer | Seller |
| Received/paid amount column | Received | Amount paid |
| "Tax Status" button in toolbar | Present | Absent |
| Title column | Off by default | On by default |
| Invoice number column | On by default and populated | Column exists but is usually empty |
Each row has four quick actions visible directly on the row: more options (three dots), print, edit, and view. The same four icons also exist in the sales list.
In the purchase invoices list, the "Payroll-inclusive" column is the same as the amount paid. When training users, state this equivalence so they don't confuse this column with Human Resources concepts.
Other purchase pages: Purchase Pre-Invoices (the same purchase list filtered to drafts), Purchase Return (following the same two-step pattern as the sales side), and Purchase Return Invoices.
A special purchase-side permission: Force-edit confirmed invoice (admin). This permission allows a confirmed purchase invoice to be edited without going through the amendment process. It is recommended that this be granted to only one or two people, and that its audit risk be explicitly discussed during training.
"Comprehensive Sales Analysis Report"
The most powerful analytical page in this module. Page structure from top to bottom:
Filter bar
From date, to date, warehouse (dropdown list), and "Group by" (default: item). Three buttons: compare with previous period, apply, clear. The compare button overlays the previous period's data series on the charts so growth or decline can be seen visually.
Indicator cards
Six cards in one row: total revenue (in Toman, with percentage change versus the previous period), total invoices (count), average order value (Toman), total quantity (number), total records, and sales growth (percentage).
Average order value is the metric sales managers care about the most; be sure to pay attention to it when analyzing sales performance.
Charts and tables
- Revenue trend — a time-series area chart, with the option to overlay "current period" and "previous period."
- Sales channel share — a donut chart with a percentage legend broken down by item.
- Comparative bar chart — comparison of top items, with two side-by-side bars for the two periods.
- Ranking tables — "Top performers" and "Needs attention," both with three columns (rank, item, and revenue) and showing five rows. The second table deliberately shows the weakest performers; its main use is deciding on discounts, inventory adjustments, or discontinuing an item.
"Performance details." A detailed table with columns for row number, display name, display code, total quantity, total amount, total discount, total tax, invoice count, average unit price, first invoice date, and last invoice date — with a search box, column settings, and the same four standard counters.
Since "Group by" can be changed, this same table can turn into a customer, seller, or category performance report. In other words, one page, multiple reports.
Printing an invoice
The printer icon on each row opens the invoice's print view on a separate page without a menu. The print layout is fed from the organization's settings (letterhead, logo, stamp, closing text), which are defined under "System ← General Settings." The PDF output is taken from this same view.
Full details of the printing platform — printers, print routes, templates, and print jobs — are in the printing documentation.
Sample workflows
Quick cash sale at the register
Quick Invoice ← scan item barcodes ← register settlement on the same page ← print receipt. The entire path without leaving the page.
Credit sale with collection follow-up
New Sale ← set the due date ← register ← invoice remains in operational status ← later, from the row menu, "Settle invoice" ← the remaining column becomes zero ← finalize invoice.
Taxable sale
New Sale with tax applied ← register ← finalize ← send to the Tax Payers System ← track in the status column (not sent ← pending processing ← accepted) ← if rejected, check "Tax history" and resubmit.
Partial return of goods
Sales return ← search for invoice ← confirm ← select the items and returned quantity ← register ← check the result in "Sales Return Invoices" and "View documents."
Purchase cycle
New Purchase ← select seller and destination warehouse ← register items ← register ← pay from Treasury ← finalize.
Frequently asked questions
Why isn't the invoice I registered showing in the list?
It is most likely a draft. The list's default filter shows only "Operational" and "Finalized"; check "Sales Pre-Invoices" or change the status chip.
What does the "1" on the gear icon mean?
It means one column has been switched off from its default state. In the sales list, that column is "Title," which is off by default.
Why can't I edit a finalized invoice?
That is by design. To make a change, you must issue an "amendment," which has a separate permission, or void the invoice.
Does the Excel export only capture the records that have been loaded?
No, the export is built from the current filter; there is no need to scroll to the end of the list.
"Remaining" doesn't add up with "Received" — what's wrong?
Check that the receipts registered in Treasury have been allocated to this specific invoice; an unallocated receipt does not reduce the balance.
What does a tax status of "Unknown" mean?
Either a communication error with the Tax Payers System occurred, or the invoice was never taxable to begin with. That row's "Tax history" shows the cause.
Why is there no tax status button in the purchase list?
Because submission to the Tax Payers System applies to sales invoices.