AccountedPro - Advanced Listview
Advanced Listview replaces Frappe's list view with one you can configure, rendered in place at /app/<doctype>. A list you have switched it on for looks and behaves differently; every other list on the site is untouched.
It exists so that the things people used to ask a developer for — coloured status pills, per-row buttons, KPI cards, child-table chips, tabbed presets — are settings rather than a bespoke HTML block. Someone who knows the business builds the view; a developer is only needed when a Server Script has to supply data or perform an action.
What you get
| A real table | Sticky header, columns you can resize, reorder, freeze and hide, widths in pixels or percent, three densities, alternating rows. |
| Columns that hold more than a field | One column can carry a badge, two buttons and a second line of text, each with its own rules. |
| Colour that means something | Conditional colour rules per element, automatic colour per value, row edge accents, progress bars. |
| Editing in place | Opt in per element: double-click, or a real input sitting in the row. Permissions, docstatus and allow_on_submit are all respected. |
| Grouping with totals | Collapsible groups whose counts and sums are computed over the whole filtered set, not just the page on screen. |
| Tabs, filters and cards | Named presets with count badges, a filter bar of seven control types, and KPI cards fed by a count, a sum, or a Server Script. |
| An expanded row | Click a row to open a panel of blocks: field sections, child tables, comments, records from another DocType. |
| Drill-down everywhere | Show, filter, group and sort by a field on a linked document — up to ten links deep, one query per level for the whole page. |
| Per-device layouts | Any mobile setting overrides its desktop counterpart — width, alignment, label, or hidden entirely. |
| Three view modes | The same layout as a table, as cards, or as a board with a column per group. |
Switching it on
The app installs disabled. Nothing changes until a System Manager opts a DocType in.
- Open Advanced Listview Settings (
/app/advanced-listview-settings). - Tick Enable Advanced Listview.
- Add a row under Governed DocTypes — for example
Sales Order. - Reload the Desk. The governed list is read when the Desk boots.
Anything not listed keeps Frappe's stock list. Unticking the master switch restores stock behaviour everywhere, immediately — that is the intended escape hatch, and nothing is lost by using it.
Where things live
| Where | Holds |
|---|---|
| Advanced Listview Settings | The master switch, the governed DocTypes, site-wide theme defaults |
| Customize Form → Advanced List View | The builder for a standard DocType |
/app/advanced-list-builder?doctype=<name> |
The same builder for a custom DocType, which Customize Form will not open |
Layouts, views, settings
Three words that are easy to confuse:
| Belongs to | Decides | |
|---|---|---|
| Layout | The DocType | What the list can show — columns, tabs, cards, buttons, theme. Built in the builder. |
| Saved view | A person | How they like to look at it — filters, sort, widths. Saved from the toolbar. |
| Settings | The site | Whether the app is on at all, and for which DocTypes. |
What still works
Advanced Listview extends Frappe's list view rather than replacing it, so the sidebar, pagination, the count, realtime updates, bulk operations, the Filter dialog, keyboard shortcuts and every listview_settings customisation keep working. Only the rendering and the column layer are taken over.
Permissions
Every read goes through Frappe's own query layer, never raw SQL, so row-level permissions still apply — including Advanced Permission scopes. Inline edits go through the normal write path. Buttons re-check their roles and their row condition on the server against the freshly loaded document, because a client that hides a button is a client that can be told not to.
Two things the app cannot vouch for, and says so where you configure them:
- a Server Script data source returns its own rows, so the script decides what a reader may see;
- a Server Script action does whatever it was written to do.
The pages
Using it
- Building a view — the builder, its panels, the live preview, saving and versions
- Columns and elements — every element type and every setting on them
- Filters, conditions and drill-down — the condition builder, operators,
@me, relative dates - The filter bar — the seven controls readers use
- Tabs and their order — presets, counts, and sorting including by a linked field
- Number cards — counts, sums, averages, data-source values
- The expanded row — fields, child tables, comments, related records
- Buttons and actions — the six action types, prompts, arguments, bulk actions
- Grouping, saved views and theme — group order, totals, appearance, custom CSS
Reference
- Settings reference — every setting and where it takes effect
- Data sources and Server Scripts — for developers
- Layout JSON reference — every key and accepted value
- Limits and troubleshooting — the caps, and what to check first