Contents
4.1 The Delivery column and the red date4.2 The four filters — exactly what each brings4.3 The "Partially invoiced" badge4.4 The dispatcher's morning routineSorting by delivery date10. CSV export: taking a list into ExcelWhere the button sitsWhat is in the file — and what is notNarrow the filter and the file narrowsOn a paged list only the loaded rows come downBadge and button columns come out empty"Seç modu" and "CSV (seçili)" on the invoice listOpening the file in Excel11. Right-click › "Copy directly (new document)" — how it differs from "Open a copy"12. The "Suggested maximum" line in Invoice13. Orders › "Invoice the ready-to-ship"14. The stock list split into three families: Stock · Expense · Spare Parts / Equipment14.1 One dock tile, three icons14.2 Type chips and "Unclassified" old cards14.3 "+ New Expense" and "+ New Card" — the dialog follows the family14.4 The Expense Tracking panel — expenses from purchases14.5 Which columns drop out of the list?15. Stock groups: add and delete, several main groups, drag-and-drop15.1 Main group and subgroup — the names no longer carry a marker15.2 Adding and deleting: «+», «×» and the confirmation strip15.3 Membership by drag-and-drop and by right click15.4 The «In the groups | Outside the groups | All» switch — finding and placing ungrouped cards15.5 The panel splitter — resizing the main-group / subgroup areas15.6 Sales Charts — the period sales / purchase curve of the selected groupHelp › List Screens
List Screens — Accounts, Stock, Invoices, Orders, Quotes
The program has five big lists and all of them work the same way. Learn one and you know all five. This page treats a list not as a "table" but as a tool built for finding things: search scope, filters, sorting, column widths and opening a card.
This page is an 8-minute read. In return, the "let me find that record" task you do dozens of times a day drops from 10 seconds to 2.
1. Five lists, one logic
The five windows below all use the same table engine. The only real difference between them is how the data arrives — covered in section 6.
Accounts
Customer and supplier cards. Full list — search and sort happen in the browser, instantly.
Stock
Product cards, quantity on hand and warehouse breakdown. Also a full list. It splits into three families — Stock, Expense and Spare Parts / Equipment; see §14.
Invoices
Purchase and sales invoices. Because there are so many, they arrive from the server page by page.
Orders
Orders received and placed; open/closed status is tracked here.
Quotes
Price quotes issued. Those that became orders and those that did not sit in the same list.
2. The three zones of the screen
Whichever list you open, the screen always has three parts. Fix this map in your head once:
Figure 1 — The three zones of every list screen
Every list carries a CSV button in its toolbar: it downloads the currently visible (filtered/sorted) list as a CSV with Turkish separators — the file opens directly in Excel. A notification tells you how many rows were exported; with a filter on, only the filtered rows are included.
3. Search: first tell it "where to look"
Next to the search box there is a scope selector. This is the button beginners miss most: most "I can't find it" complaints come from searching in the wrong scope. On the Accounts list the scopes are:
| Scope | Where it looks | When to use it |
|---|---|---|
| Otomatik | Decides by itself, looking at the shape of what you typed | The default — it usually guesses right |
| Code / Title | Account code and company title | When you know part of the company name |
| Tax ID | Tax / national ID number | Separates companies with similar names for certain |
| Phone · E-mail | Contact fields | When all you have is a number or an address |
| Contacts | Names of the people attached to the company | The "what was Deniz's company?" question |
| City | The city field of the address | Territory work, route planning |
Search works on contains logic: type "deniz" and you get both "Deniz Yapı" and "Akdeniz Ticaret". You do not have to start from the beginning. Instead of typing a long title in full, type its most distinctive three letters.
4. Filters: the job search cannot do
Search is for "find the record whose name I know". A filter is for "bring me the records whose name I don't know but whose property I do" — for example "show everyone who owes me". The Status filter on the Accounts list offers:
| Filter | Who it shows |
|---|---|
| Status: All | No filter — every card |
| Debit balance | Those who owe you — this is your collection list |
| Credit balance | Those you owe — your payment plan comes from here |
| Open (non-zero) | Everyone whose account is not settled |
| Closed (zero) | Cards whose balance is zero |
| Doubtful receivable | Accounts flagged as risky to collect |
| Bad debt (incl. membership) | Records written off as uncollectible |
On some rows of the Accounts list you will see small coloured badges: Cash, On time, Slightly late, Late, Chronically late. Nobody types these — the program computes them from the customer's past payment speed. When granting terms to a new customer, this badge is a more reliable adviser than your gut.
The Delivery column shows the date an order was promised for; the filter strip narrows the list by that date; and Ready to ship is the dispatcher's morning list. The strip exists only on the orders list — not on invoices or quotes.
4.1 The Delivery column and the red date
The Delivery column shows the delivery date you typed when entering the order — it is not a new field, it is information the order has always carried; it is simply visible in the list now. It has three states:
| What you see in the cell | Meaning | What to do |
|---|---|---|
| A plain date | The delivery day has not arrived yet | Nothing; it will drop into the "Today" filter when its turn comes |
| A red date | The date has passed and the order is still open — an overdue delivery | Call the customer or ship it today; the row leaves the list once the job is done |
| — | No delivery date was ever written on this order (most older records are like this) | This row matches no delivery filter — read the warning below |
This is the most common misreading. When you press Ready to ship and see "12 orders", those are 12 orders that have a date. An order left without a delivery date appears in none of the four filters — but press All and you will see it sitting there. The habit to build is simple: type the delivery date when you enter the order. That is how you build next week's shipping list today.
4.2 The four filters — exactly what each brings
All four are applied on the server: it is the whole set that is filtered, not just the page you see, and the count and total in the strip above belong to that filtered set. Day boundaries are built from the server's local calendar — press it at 21:00 and "today" is still today.
| Button | Exact definition | Who uses it |
|---|---|---|
| Today | Delivery date falls exactly on today (00:00–23:59) | Dispatch — today's loading plan |
| This week | Seven days from today (today included, up to six days ahead). It is not the calendar week — press it on Friday and it also covers next Wednesday | Planning — lining up with production and purchasing |
| Overdue | Delivery date before today — today is excluded. An order still on the list is by definition open or partial, so no extra "open" condition is needed | Sales and customer relations — an apology and a new date |
| Ready to ship | Delivery date today or earlier and the row still open/partial — that is Today plus Overdue together | Dispatch — the real morning list |
| All | Removes the filter — everything, including rows with no delivery date | Everyone — the normal working state |
There are two different notions of time in the strip, and mixing them makes the list look "empty": the period picker (Today/Week/Month/Year/All) looks at the date the order was written; the delivery strip looks at the date it will be delivered. They work together: "orders written this month whose delivery is overdue" is a perfectly valid question. The orders list opens with the All period by default, because orders are few — so the delivery strip gives the right answer on the first click.
The moment you type into the search box the period filter is suspended (the program searches all dates), but the delivery filter keeps applying. That distinction is deliberate: a date range is a convenience, whereas the delivery choice is your deliberate view — a search narrows it, it does not cancel it. With "Ready to ship" selected, typing a customer name answers: that customer's open orders due today or earlier.
4.3 The "Partially invoiced" badge
The status column is the delivery column's twin: delivery answers when, status answers how much of it. You will see three values:
| Badge | What it means | For dispatch |
|---|---|---|
| Open | No invoice has been raised from the order at all | The whole thing is to be loaded |
| Partially invoiced | Part of the order has been invoiced and the rest is still open | Load only the remainder — open the card to see what is left |
| Invoice #… | It is linked to an invoice, whose number is shown | The job is done; follow it from the document chain |
Because when an order line is invoiced in full the program removes it from the order book — the job is done and there is no point keeping it among open work. So every order that is still on the list yet marked as invoiced is by definition partial. That is why the badge is called "Partially invoiced", and what it tells you is: there is still goods to load on this order.
4.4 The dispatcher's morning routine
- Open the orders list and press Ready to ship on the delivery strip. The information strip at the top gives you two figures: how many orders and how much money in total. That is the one-line summary of the morning's workload.
- Click the Delivery header so the oldest delivery comes to the top. The list is then in order of urgency: the topmost red row is the customer who has waited longest.
- Look at the status column. On rows marked "Partially invoiced" you will load the remainder, not the whole order — double-click the row to open the Order Card and see what is left.
- Export the list (the CSV button on the toolbar — see the CSV section) and hand it to the warehouse. The export carries the Delivery column too, so nobody asks "which order is for today" again on paper.
- Save this layout. Right-click an empty spot on the page and save the page preset: the selected delivery filter, the sort and the period are stored together. Next morning the window opens already on "Ready to ship" — without pressing a thing.
5. Sorting and columns
-
Click a header to sort
One click sorts ascending, a second click descending; a small arrow appears in the header. The answer to "who owes the most?" is: click the Balance header twice.
-
Set column width by dragging
There is a thin handle on the right edge of the header cell. Drag it with the mouse (or with your finger on a touch screen). Your setting is saved on the server per user: log in from another computer tomorrow and it is the same, while your colleague's layout stays untouched.
-
Opening the card: single or double click?
The behaviour depends on the list: on the accounts and stock lists a single click opens the card; on the invoice, order and quote lists a single click selects the row and a double click (or Enter) opens the card. On document lists selection is deliberate — you can mark a row and use the actions in its right-click menu. Right-click opens the context menu in every list (shortcuts such as copy, or open the related window).
-
Choose your columns — the gear on the header
The gear on the header strip (⚙, "Kolonları seç") decides which columns are visible: switch off the ones you do not need and drag the rest into a new order. The preference is saved per window (per screen) and per user — log in from another computer tomorrow and it is the same, while your colleague's layout stays untouched.
These two columns on the quote, order and invoice lists are free labels defined by your own company — the program attaches no meaning to them ("in production", "ready to ship", "at accounting" and the like). To label a document, right-click its row and pick from the Süreç ▸ menu; the list of options is edited under Ayarlar → HNR Tercihleri → Firma Bilgileri → Süreç & Aktivite Listeleri. An empty column just means nobody set a label — it is not an error.
Sorting by delivery date
Click the Delivery header: the list is sorted by delivery date, and a second click reverses the direction. The sort also happens on the server, so the whole set is sorted rather than the page you see — an order on page 3 really is the latest one. Rows with no delivery date are always pushed to the end; whichever direction you sort, you never get a block of blanks at the top. This sort option exists only for orders — invoice and quote lists have no Delivery header.
6. Full list or paged list?
There are two kinds of list and they behave slightly differently. Knowing the difference answers "why is search instant here but not there":
Figure 2 — Two kinds of list and how they differ
7. Creating a new record from the list
Every list has a + New … button in its toolbar. On the Accounts list, + New Account opens a small form; when you save, the card is written to HNR and starts with a balance of 0. On the invoice/order/quote lists the new button opens the relevant document entry window — which has its own guide.
Before creating a new account always search first — by code, by title and by tax number. A duplicate card means one customer's balance is split across two cards; the statement comes out wrong and fixing it requires manual transfers. Thirty seconds of searching prevents two hours of cleanup.
8. Three common mistakes
| Mistake | Symptom | The right way |
|---|---|---|
| Leaving a filter on | "The record vanished!" — but a filter is hiding it | When you can't find it, first set Status to All |
| Searching in a narrow scope | You type a company name but the scope is "Phone" | When unsure, set the scope to Automatic |
| Working out totals by hand | Counting rows by hand or adding them up on a calculator | Use Reports for totals and breakdowns; to take data into Excel, the CSV button on the toolbar downloads the visible list |
9. Frequently asked
The list came up empty — was the data deleted?
Almost never. Check in order: (1) old text may be left in the search box, (2) a filter may be on, (3) on a paged list you may be on the last page. Clear all three; if the list fills up, your data is fine.
I ruined my column layout — can I undo it?
Widths are personal and you can fix them any time by dragging again; nobody else is affected. There is no lasting damage — the layout is part of your view, not of the data.
Can I delete a record from the list?
Deletion requires administrator rights and is blocked outright for records that have movements (when an account cannot be deleted the program tells you why). The right reflex is not to delete but to deactivate the record or change its status: history stays intact.
How many lists can I keep open at once?
As many as you like — each stays as its own window and gets a dot under its dock icon. Keeping the accounts list open while you also open the invoice list and moving between them is a normal way to work.
"Today" came back empty, yet we are shipping goods today.
Almost always for the same reason: those orders have no delivery date. Press All, find the rows with — in the Delivery column and fill the dates in. The second reason is that delivery was not today but yesterday — then the row is not under "Today" but under "Overdue"; use Ready to ship to see both at once.
Why is "This week" not the calendar week?
Because shipping is planned by the days ahead, not by the calendar. On a Friday the calendar week would leave you two days of work, while the real problem is the load that will not be ready by next Tuesday. So "This week" means seven days from today — whichever day of the week you press it, it shows the week ahead of you.
I would like the delivery filter on invoices too.
An invoice is a document already issued; the delivery promise is in the past and filtering it would mean nothing. Quotes do not have it either: a quote is not even an order yet. The strip was deliberately placed on orders only — that is the one list where work that has been promised but not yet done lives.
10. CSV export: taking a list into Excel
Lists show everything but calculate nothing. The moment you say "let me total the VAT on these 340 invoices and send it to the manager", the screen is no longer enough; you need the data in Excel. That is what the small CSV button — a downward arrow and one word — on every list is for.
Where the button sits
It can be in one of two places; both produce the same kind of file under the same rule:
| Place | On which screens | The file you get |
|---|---|---|
| The toolbar on top — next to the search box and the filters | The five big lists: Accounts, Stock, Invoices, Orders, Quotes — and the Statement tab of the account card | cari-listesi.csv · stok-listesi.csv · faturalar.csv · siparisler.csv · teklifler.csv · ekstre-C001.csv |
| The footer strip — at the right end of the totals line | Newer tables; today it is on the Reconciliation → Receivables Ageing tab. More tables will gain it over time. | alacak-yaslandirma.csv |
The toolbar button exports a column set tailored to that list (a column you hid on screen may still appear in the file) and, once downloaded, shows a notice: "CSV downloaded · 128 rows — faturalar.csv". The generic footer button exports exactly what you see: a column you hid stays out of the file. Both write the same file format; use whichever the list offers.
What is in the file — and what is not
One-sentence rule: what you see on screen is what you get. That has three practical consequences:
-
Narrow the filter and the file narrows
The search box, the date range, the status filter — all of them carry into the file. This is not a limitation but a tool: if you want "only this month's cancelled invoices", build that view on screen first, then press CSV. You never need to hunt for a separate report screen.
-
On a paged list only the loaded rows come down
The distinction from section 6 matters here. On full-list screens (Accounts, Stock) the data is on the client from the start, so CSV gives you the whole list. On paged screens (Invoices, Orders, Quotes) it arrives from the server piece by piece, and CSV exports only the page that is loaded. To get everything, scroll down to load the pages first, or narrow the filter so it fits one page — the footer always tells you how many records are loaded.
-
Badge and button columns come out empty
If a column shows a coloured badge or an action button (🖨, "Open", a status light), it has no Excel equivalent and the cell arrives empty. This is not a gap but a deliberate choice: only numbers and text go into the file. The status is usually also present in words in another column; use that one.
"Seç modu" and "CSV (seçili)" on the invoice list
Sometimes what you want cannot be described by a filter: "these three invoices plus those two below". The invoice list has Seç modu (selection mode) for that. Turn it on and click rows to select several; the CSV (seçili) button that appears next to it downloads only your selection as faturalar-secili.csv. The plain CSV button ignores the selection — it always exports the visible page.
Opening the file in Excel
The file is written so that Excel with Turkish regional settings opens it on a double click. Three small but critical choices make that work:
| Choice | Why |
|---|---|
| Columns are separated by a semicolon (;) | In Turkish the comma is the decimal mark. A comma-separated file gets pasted into one column by Excel. |
| Numbers use a decimal comma and no thousands separator | Written as "12.500,00" Excel would read it as text, and you could not sum it. The file says "12500,00"; Excel adds the pretty formatting itself. |
| An invisible marker is placed at the start of the file | Without it Excel mangles Turkish letters — "Şişli" becomes something like "ÅŸiÅŸli". With it, ş, ğ, İ, ı arrive correctly. |
Dates always arrive as DD.MM.YYYY. Sentinel values that mean "no date" in HNR's older records (1900, or 31.12.1999) become empty cells in the file — so a made-up date never sorts to the top of your Excel list.
If you press CSV with no rows on screen, nothing downloads; instead a notice appears: "no rows to export — there are no records visible in the list, widen your filters". Downloading an empty file would feel like a failure, so the program states the reason instead. The generic footer button simply greys out in the same situation.
The file is produced by the browser itself, not fetched from the server — that is why it appears instantly even on a slow network. Look in your browser's Downloads folder (Ctrl+J). Exporting the same list twice makes Windows append "(1)" to the name; your earlier export is not overwritten.
11. Glossary
| Turkish | Short description |
|---|---|
| Kapsam | Which fields the search looks at |
| Filtre | Filtering rows by property (status, balance) |
| Tam liste | A list loaded all at once and filtered in the browser |
| Sayfalı liste | A list that arrives from the server in chunks |
| Kolon tercihi | Per-user column widths stored on the server |
| Bağlam menüsü | The shortcut list opened by right-click |
The Print button at the top right produces an A4-friendly version (navigation and buttons are hidden). Related guides: Account Card, Stock Card, Document Entry.
11. Right-click › "Copy directly (new document)" — how it differs from "Open a copy"
Right-clicking a row in the Quote, Order and Invoice lists shows two neighbouring menu items. Open a copy works as before: it opens the entry window, you change lines, fix the date, then Save. Copy directly (new document) opens no window: after one confirmation it writes a new document dated today in a single request and shows "Source #x → new #y · n lines". Ideal for repeating orders, the same invoice every month, "same as last week".
| Open a copy | Copy directly | |
|---|---|---|
| Window | Opens, you edit | None; one confirmation |
| Date / due | You choose | Today; due blank (= date) |
| Lines, account, warehouse, currency | Editable | Exactly as source (quantity and amount identical) |
| Gates | Run on Save | The same gates (account/stock checks, negative-stock approval, number from server) |
Permission: the write right for that document type — the copy passes the same gates as a hand-written document. The source document never changes. A double click makes the second request return "already exists" with the same new document. Errors: 404 if the source was deleted, 422 for a source without lines, and the negative-stock question from document entry if stock would go negative.
12. The "Suggested maximum" line in Invoice
When invoicing an order and stock is short or the order remainder is exceeded, the program stops (422). The message used to say only "insufficient"; now a Suggested maximum line sits under the error band: "line 1 STK-01: at most 0 (requested 4)". On over-shipment the maximum is the order remainder; on negative stock it is the warehouse on-hand (never below zero). Reduce the quantity to that value and retry, or, if you have the right, tick the negative-stock / over-shipment approval box.
13. Orders › "Invoice the ready-to-ship"
The "Ready to ship" filter in section 4 shows the orders; the Invoice the ready-to-ship button at the top of the Orders window selects and batch-invoices them: pick a date, read the stock badge (enough / short / unknown), only orders with enough stock are selected by default, press Invoice and read the per-order result. Step-by-step guide and error table: Sales guide, section 18.
14. The stock list split into three families: Stock · Expense · Spare Parts / Equipment
Every stock card now has a Type, and the type puts the card into one of three families. Each family is listed in its own window; all three use the same list engine (search, group filter, sorting, column picker, CSV) — the only things that change are which cards appear and which columns and fields still make sense.
| Family | Types | Is stock kept? | Window |
|---|---|---|---|
| Stock | Material · Semi-finished · Semi-finished 2 · Finished goods · Scrap / Waste | Yes | Stock |
| Expense | Expense · Service · Labor | No — a purchase invoice does not increase stock | Expense |
| Machine | Machine · Equipment · Spare part | Yes — but in a separate list | Spare Parts / Equipment |
When you write electricity, water, waste disposal or a service line on a purchase invoice, and the card belongs to the expense family, the quantity on hand does not grow. Those lines feed the expense, not the stock: you follow them from the Expense Tracking panel in 14.4. Previously such cards sat in the Stock list and their on-hand figures inflated forever.
14.1 One dock tile, three icons
Figure 4 — The Stock / Warehouse tile and the three card lists
Click the Stock / Warehouse tile on the dock; the sub-bar shows the Stock, Expense and Spare Parts / Equipment icons (together with Warehouses). All three windows are the same screen — whichever icon you use, it lists that family's cards. The permission is shared: a user who can see the Stock list also sees the other two; you do not have to grant anything extra.
14.2 Type chips and "Unclassified" old cards
Right under the toolbar there is a chip strip: the family name on the left, then All and every type of the family — each chip carries the number of cards of that type. Clicking a chip narrows the list to that type; clicking the same chip again releases it. The counts are independent of the group filter; they are counted from the full list, so "how many finished goods are in this family" always gives the same answer.
Old cards that have not been given a type yet carry an empty type. They count as the stock family (so the old behaviour is preserved: they do keep stock) and in the Stock window they also appear under an Unclassified chip. That chip is drawn only in the Stock window and only when such cards exist. To set a type, open the card › Edit › Type. Forgetting to set it does not corrupt anything — the card simply keeps showing up in the wrong list.
Besides the code and the description, search also scans the type label. So typing "scrap" in the Stock window brings up the scrap cards — no chip click needed. In the Expense window a reminder sits at the right of the chip strip: "Expense cards keep no stock — tracking comes from purchase invoices".
14.3 "+ New Expense" and "+ New Card" — the dialog follows the family
The new-card button is named after the window: + New Stock in Stock, + New Expense in Expense, + New Card in Spare Parts / Equipment. The dialog that opens offers only that family's types (the Type dropdown) and does not draw the fields that make no sense for the family:
- On an Expense card there is no Price 1 and no Barcode (an expense is not sold and not scanned off a shelf); Withholding stays — it is needed on scrap and service purchases. The hint on the Unit box changes for expenses: "kWh, m³, MONTH, HOUR".
- On a Spare Part / Equipment card there is no Price 1 and no Withholding (a machine is not sold and its purchase carries no withholding); the barcode stays.
- A hidden field is never written into the request body; the server uses its own factory default. The remaining fields are the same in every family: Stock Code (at most 30 characters, unique), Description (required), Unit, VAT % (0–100), Withholding (0–10, the x/10 system).
- On save the dialog closes and the window of the new card opens; the list is refreshed too. If the code already exists the server says so plainly and no card is created.
14.4 The Expense Tracking panel — expenses from purchases
Since expense cards keep no stock, the answer to "how much did we pay for electricity" is not in the on-hand figure but in the purchases. The Expense Tracking button — present only on the Expense window's toolbar — opens a panel inside the window (no separate window; pressing Close leaves the list exactly where it was).
- Date range — the Start and End boxes; it opens on "from the beginning of this year until today". The figures refresh the moment you change them.
- VAT excluded / VAT included — a single button that toggles between the two modes; the table and the bars change together. The figure that goes to accounting is the VAT-excluded one.
- Period total — at the right end of the strip; the one-number answer for the chosen range.
- Monthly expense — horizontal bars, one per month. If returns exceed purchases in a month, that month's bar is drawn in red.
- Monthly statement — clicking a month bar opens that month's lines right below it: Date · Code · Account · Document · Quantity · Price · Amount. The list is limited to the selected cards and to the panel's date range; clicking a row that carries a document link opens the invoice or the delivery note, and purchase returns are written as negative (in red). The total at the top right follows the VAT button. Clicking the same month again, or pressing Close, closes the statement; changing the date range closes it too. The statement limit is 5,000 rows.
- The By card table — Code · Description · Type · Quantity · Return · Net amount. Clicking a row opens that card's window on the Movements tab, where you see document by document where the total came from.
- Card selection — when you tick the box at the start of a row, the monthly bars, the monthly statement and the total at the top right are computed from the selected cards only; the caption becomes "Selected total · 3/12" instead of "Period total" and the unselected rows fade. All drops the selection and counts everything again, None empties it; double-clicking a row selects that card alone. Clicking the box does not open the card — click the row itself for that.
While no card is selected the monthly statement fetches nothing and says "No card is selected — select cards below."; when a month holds no line at all it says "There is no line in this month." The selection stays with the panel: changing the dates keeps the ticked cards and only closes the open monthly statement.
The column headings of the monthly statement — Date · Code · Account · Document · Quantity · Price · Amount — are clickable. Clicking a heading sorts the statement by that column: the numeric columns (Quantity, Price, Amount) come from the largest down on the first click — whoever looks at the amount is after the big line — while text columns are ordered A→Z in Turkish letter order. Clicking the same heading a second time reverses the direction; the heading of the active column carries a ▲ or ▼ mark. The sorting happens entirely on the screen: no new request goes to the server, the row limit does not change, and rows with equal values keep the order in which the server sent them. The sorting you chose stays when you move to another month.
Expense Tracking follows the group filter of the window. If you open the panel while a main group or a subgroup is selected in the Groups panel on the left, the figures are computed from the cards currently visible in the list only — this is how "tracking the expenses of that group" is done. A blue chip in the parameter strip says so: «Main group: operations · all its subgroups · 12», «Group: electricity, water · 5», or, in the Outside the groups mode, «Outside the groups: … · 9»; the number at the end is how many cards in that scope have a purchase in this period. The caption at the top right also becomes Group total instead of Period total, so you never confuse where the figure came from.
The All cards button next to the chip removes the filter temporarily: the panel goes back to every expense card, the chip is struck through and the button is renamed Only those in the group — pressing it returns you to the window's filter. Every time you flip the switch the card selection is cleared and the open monthly statement closes, because the set of cards is built anew. If the cards in the selected group have no purchase at all in that period, the panel says «The cards in the selected group have no purchase in this period — you can remove the filter with "All cards".» While nothing is selected in the Groups panel no chip appears either: the panel counts every expense card as before.
To the right of the monthly bars there is a ring (pie) chart: the breakdown of the selected month's expenses by card. Its heading says which data it draws — Monthly breakdown · 2026-03 while a month is selected, Period breakdown while the whole range is drawn. When the panel first opens no month is selected; the pie then shows the last month. If you click a month bar, both the line statement of that month opens and the pie switches to that month; which month is drawn you see from the small ◉ mark at the end of the month row. The Whole period button in the heading releases the month selection and gathers the entire chosen date range into a single pie.
The largest eight cards become separate slices in the pie, the rest are gathered into the Others slice. The legend on the right carries each slice's colour, card code, amount and percentage; in the middle of the ring stands the total of the selected month — or, while the whole period is drawn, of the entire range under the word PERIOD. The card selection and the VAT excluded / VAT included switch apply to the pie as well: only the ticked cards become slices and the amounts are written in the mode you chose. The pie sends no separate request to the server; it derives its figures from the monthly breakdown of the card table, so changing the month brings no waiting. If the selected month holds no expense at all, "There is no expense in this month." stands in place of the pie; if the whole range is empty, "There is no expense in this period."
The figures come from purchase invoice and delivery-note lines: a purchase is added, a purchase return subtracted; the net amount is the difference. The amount formula is the same as in document entry — price × rate × quantity × (100 − discount) ⁄ 100. Warehouse vouchers, stock counts and production movements are not counted; they are not purchases.
If the range you picked exceeds 20,000 rows, a strip appears at the top of the panel: "The row limit was reached — narrow the range; the totals may be incomplete." Narrow the dates before trusting the figures. When there is no purchase at all in the period the panel says so plainly: "There is no purchase to expense cards in this period. Once you add a card of type expense/service/labor to a purchase invoice, it accumulates here."
14.5 Which columns drop out of the list?
The core columns are the same in every family — Code · Description · Unit · Type — but the meaningless ones are simply not drawn: in the Expense window Price 1 and On hand drop out, in the Spare Parts / Equipment window Price 1 does. Your column choice from the gear is stored separately per window and they never overwrite each other. The CSV button also names the file after the family: stok-listesi.csv, gider-kartlari.csv, ekipman-kartlari.csv.
Which tabs and sections are hidden on the card's own screen is explained in section 12 of the Stock Card guide.
15. Stock groups: add and delete, several main groups, drag-and-drop
The Groups panel on the left of the Stock window is no longer just a filter; it is where you manage the groups themselves: you create and delete main groups and subgroups, link one subgroup to several main groups, and drag stock cards onto a group. The same panel in the Accounts window stays read-only — the management buttons appear only in Stock.
15.1 Main group and subgroup — the names no longer carry a marker
Groups have two layers. Main groups sit on top (for example «pipes», «pumps»), and under each of them are the subgroups linked to it. A stock card belongs to a SUBGROUP only; a main group carries no membership — it is a heading that gathers the subgroups beneath it.
In the old desktop program a main group name was stored with an exclamation mark and was shown that way on screen too: «!pipes». The marker now stays in the STORAGE format only; in the panel, in the lists and in the reports you see the main group by its name: «pipes». The one rule that follows is this: a new group name cannot START with an exclamation mark — if you try, the box says "A group name cannot start with '!'" and nothing is saved.
A subgroup can be linked to more than one main group. The subgroup «gaskets» can appear under both «pipes» and «pumps»; the card joins once and is found from either branch. Subgroups linked to no main group are not lost: they stay visible under the Unlinked subgroups entry at the bottom of the main-group list.
15.2 Adding and deleting: «+», «×» and the confirmation strip
The «+» button to the right of the «Main Groups» and «Subgroups» headings opens a small inline name box: type, Enter saves, Esc cancels. Deleting starts with the «×» that appears when you hover a row, and it does not happen at once — first a confirmation strip appears that spells out, with numbers, what is about to happen.
- New main group — the «+» on the «Main Groups» heading. Type the name and press Enter; the group is created and immediately selected, ready for you to add subgroups under it.
- New subgroup — select a main group first, then press the «+» on the «Subgroups» heading. The box suggests only THIS LIST'S subgroups (subgroups of another list never appear here): if you type a new name the subgroup is created and linked to this main group; if you pick an existing name from the list no new definition is created — that subgroup is merely LINKED to this main group as well. The notification tells you which happened: «Subgroup added» or «The existing subgroup was linked to this main group».
- Deleting a main group — the «×» strip asks "«pipes» — delete main group?" and writes underneath what you are about to lose: «3 subgroup link(s) will be removed · 1 subgroup(s) will be left unlinked». Only the MAIN GROUP DEFINITION and its subgroup links are deleted; the subgroups themselves and the stock memberships stay exactly as they were. Subgroups not linked to another main group fall into the «Unlinked subgroups» entry.
- Deleting a subgroup — the strip offers two buttons. Remove from this main group only releases the LINK alone: the subgroup definition and the card memberships remain, and the subgroup keeps showing under its other main groups. Delete completely (N) removes the definition, every main-group link and N stock memberships at once. The strip's heading shows the numbers before you decide: «12 stock membership(s) · 2 main-group link(s) (pipes, pumps)».
- Removing the selected ones in bulk — the − button next to + in the subgroup heading removes the subgroups you ticked from the MAIN GROUP that is currently open; it is the bulk form of × → «Remove from this main group only» on the row. With no subgroup selected the button is disabled, it does not appear at all in the «Unlinked subgroups» mode, and it depends on the can delete groups permission. Clicking it opens a confirmation strip headed «pipes» — 3 selected subgroup(s) — remove?: it lists the names and says «Only the link is removed; the subgroup definition and its memberships remain.» The Remove the selected button runs it, and when it finishes it says «3 subgroup(s) were removed from this main group». If some of them fail, the line «1/3 subgroup(s) could not be removed — name: reason» appears and the strip stays open with the remaining names; you can fix them and try again.
- Unlinked subgroups — the entry at the bottom of the main-group list. This entry is list-specific too: it gathers only the unlinked subgroups that belong to this list. From here you either delete a stranded subgroup completely, or select a main group and link it again by typing its name into the «+» box. While this entry is open, adding a subgroup is disabled (there is no main group to link to).
- Permissions — the «+» buttons depend on the group operations permission and the «×» buttons on the may delete groups permission. If you do not hold a permission the button is simply not drawn; the panel keeps working as a filter exactly as before. An administrator holds both.
Groups are now separated by list. The Stock, Expense and Spare Part/Equipment windows each see only THEIR OWN main groups, THEIR OWN subgroups and their own Unlinked subgroups entry: if «pipes» was created in the stock list, it does not appear in the expense window at all. A new main group is written to the family of the window it was created in, and every group that existed before counts as the «stock» family. The Group Memberships list on the stock card is filtered by the card's family too.
The separation is complete: the lists do not see one another's groups, so there is no operation for moving a group to another list either — do not look for such an entry in the panel. The suggestion list in the subgroup box offers only the subgroups of this list. If you try to create a subgroup here under a name that is already defined in another list, the server refuses it: ««gaskets» is defined in another list (Stock cards) — the lists do not see one another's groups; use a different name in this list.» The bracket tells you which list holds that name; what you do is pick a different name in this list. A subgroup left unlinked is not lost and does not cross over to another list either: it stays in the list of the main group it was last linked to, under that list's Unlinked subgroups entry. Very old subgroups that carry no family record at all count in the Stock cards list.
15.3 Membership by drag-and-drop and by right click
The shortest way to put a stock card into a group: grab the row in the list and drop it onto a SUBGROUP row in the left panel. The target row is outlined in blue; on drop it says «Added to the group» and the list refreshes. You cannot drop onto a main-group row — membership exists only at subgroup level, so a main-group row does not accept the drag.
The twin of the same action, for keyboard and touch, is in the right-click menu. With one or more subgroups selected in the left panel, right-click a row in the list: the commands Add to the selected groups (N) and Remove from the selected groups (N) appear, where N is the number of selected subgroups. If the write fails it says «Group membership could not be saved» and the reason is printed in the body.
The same drag logic works for the subgroups THEMSELVES: grab a subgroup row in the left panel (hovering it reveals a ⋮⋮ handle on the left) and drop it onto another main group in the Main groups list — the subgroup gets linked to that main group as well. The target main group is outlined in blue; on drop it says «The subgroup is now linked to this main group as well», or «The subgroup is already in this main group» if the link was there. Only a link is added, nothing is copied: the subgroup's definition, its stock memberships and its previous main-group link all stay as they are — a single subgroup appears under several main groups. Dropping onto the main group you are already in is ignored. The rows under «Unlinked subgroups» can be dragged too; dropping one onto a main group takes it out of that list. Dragging depends on the group operations permission. To remove a link, use × on the subgroup row → «Remove from this main group only»; to remove several subgroups at once, tick the rows and use the − button in the heading.
15.4 The «In the groups | Outside the groups | All» switch — finding and placing ungrouped cards
There is a THREE-position switch on the toolbar. In the groups is the familiar behaviour: it lists the members of the selected subgroups. Outside the groups brings the OPPOSITE of the same selection — the cards that are NOT members of the selected groups. All shows both at once: nothing is filtered out, every card stays where it is, and the ones that are members are marked with a small badge on the row. The badge strip states the mode plainly: «Outside the groups: pipes, pumps».
Its real use appears when NO subgroup is selected: then «Outside the groups» means the cards that belong to no group at all — the ungrouped ones; the badge says «Cards with no group». The workflow is this: flip the switch to «Outside the groups», clear the selection, and drag the cards that appear onto the subgroups in the left panel — each drop removes the card from the list, so the list gets shorter. When you finally read «No stock without a group — every card belongs to a group», the job is done. If the list empties while groups are selected, the message reads «There is no stock outside the selected groups» instead.
Main group scope: if a MAIN group is selected in the left panel but you have checked none of its subgroups, the switch runs over ALL the subgroups of that main group: «In the groups» brings the cards that are members of any subgroup of the main group, «Outside the groups» those that are members of none of them, and «All» lists everything and marks the members with a Member badge. The strip writes it as «Main group: pipes · all its subgroups» (or, depending on the mode, «Outside the main group: …» or «All — members of the main group marked: …»). As soon as you check one of the subgroups the scope narrows and, as before, only the checked subgroup set applies.
In the All mode nothing is filtered out; the cards are MARKED instead. If at least one subgroup is selected, the members of those groups carry a Member badge on the row (hovering the badge reads «Member of the selected groups»); if no group is selected, it is the cards belonging to no group at all that are marked, with a No group badge. The strip gives the numbers too: «All — members marked: pipes, pumps · 2908 stock · 15 member(s) / 2893 not»; with no group selected the heading becomes «All — cards with no group marked». This mode answers «which groups is this card in?» without narrowing the list — while you look for a code you see both the member and the non-member on the same screen.
When you select a subgroup, a small copy of the same switch also appears in the group strip above the list, so you do not have to go back to the toolbar to change the mode. On the right of the strip, if you hold the group-writing permission, sits the hint «Drag and drop the row onto a group»; hovering it explains «Drop the row onto a subgroup name in the left panel». The hint is hidden in the «In the groups» mode — there every row is a member already.
In the «Outside the groups» mode the Group Reports button on the toolbar is greyed out and cannot be pressed. The reason is simple: those reports run over the MEMBERS of a group, and a set of non-members has no group breakdown. Flip the switch back to «In the groups» to take a report.
15.5 The panel splitter — resizing the main-group / subgroup areas
When you select a main group, a thin draggable horizontal bar appears in the panel between Main Groups and Subgroups. Dragging the bar up shrinks the main-group area and makes room for the subgroups; dragging it down does the opposite. A double-click evens the two areas out again (50% / 50%). You can focus the bar with Tab and move it five points at a time with the ↑ and ↓ keys. The ratio is clamped between 12% and 88%, so neither area ever closes completely.
The ratio you pick is remembered in the browser: it stays the same when you close and reopen the window, and in the other list windows too. This is a convenience belonging to that browser alone — it is not written to the server, so on another computer you start again from the default half-and-half layout. The bar is shown only while a main group is selected; with the subgroup list closed there is nothing to split.
15.6 Sales Charts — the period sales / purchase curve of the selected group
The Sales Charts button on the toolbar becomes active when you select a subgroup or a main group in the left panel; while none is selected it stays greyed out and hovering it reads «First select a group or a main group from the left panel». The panel opens as a layer INSIDE the window, and Close takes you back to the list. The scope comes from the group filter of the window: whichever mode you are in (In the groups / Outside the groups), the chart describes that same set. This panel is the stock twin of the Expense Tracking of 14.4 — the same logic, running over the stock cards in scope instead of the expense cards.
On the top row sit the Start and End dates, the Sale | Purchase switch, the VAT excluded / VAT included button and the scope chip. «Sale» counts the lines of sales invoices and delivery notes (outbound), «Purchase» those of purchase invoices and delivery notes (inbound). The scope chip states plainly what is being added up: «Group: pipes, pumps · 12», with a main group selected «Main group: pipes · all its subgroups · 522», in the opposite mode «Outside the groups: …»; the number at the end is how many cards are in scope. At the right end it reads Sale · period total (Purchase for purchases); once you select cards the heading turns into Selected total. The value criteria are exactly the same as in Group Reports — over the same range the two screens give the same figure.
In the middle are the monthly bars, and to their right the pie. Each month row shows that month's amount by the length of its bar; hovering it gives the quantity and the number of lines. Clicking a month switches the pie on the right to that month and its heading becomes «Monthly breakdown · 2026-03»; clicking the same month again, or the Whole period button, returns the pie to the entire range («Period breakdown»). The pie draws the eight largest stock items as separate slices and collects the rest into an «Others» slice. If there is no movement at all in the period, the panel says «There is no sale from the stock items in scope in this period.» (for purchases, «There is no purchase to the stock items in scope in this period.»); if the selected month is empty, only the place of the pie reads «There is no sale in this month.».
At the bottom is the By card table: each row carries the code, the description, the type, the quantity, the number of lines and the amount. The check box at the start puts the card into the selection — the monthly bars, the pie and the total are then computed only from the ticked cards; the All and None buttons set the selection in one go, and double-clicking a row leaves only that card selected. Clicking the Code, Description, Quantity and Amount headings sorts the table; a second click reverses the direction (the little arrow shows it). Clicking a row opens the card on its Transactions tab, so you reach the documents behind the figure you see in the chart with a single click.