የSmartERP መመሪያ የAshewa Technology Solutions መድረክ
ይህ ገጽ ገና ወደ አማርኛ አልተተረጎመም። የእንግሊዝኛው ጽሑፍ ቀርቧል።

Documentation standard

The rules every SmartERP module's documentation follows - structure, audiences, writing style, accuracy, screenshots, diagrams and review.

This page is the standard for all SmartERP documentation. It is written for the people who write and review pages, and it is public so that customers can see what they can expect from every module.

Principles#

SmartERP documentation follows the principles of three well-established references. It does not claim formal certification against them.

ReferenceWhat we take from it
Diátaxis (tutorials, how-to guides, reference, explanation)Every page has one job. A tutorial teaches, a how-to guide gets a task done, a reference describes facts, and an explanation builds understanding. We never mix them in one page.
ISO/IEC/IEEE 26514 (design of information for users) and ISO/IEC/IEEE 82079-1 (information for use)Documentation is planned for named audiences and tasks, is complete for the product's intended use, warns about risks before the step that causes them, and is consistent in terms and structure.
WCAG 2.2 (accessibility)Every image has alt text and a caption, no information is carried by colour alone, headings are in order, and link text says where the link goes.

For wording we follow the plain-language guidance of the Microsoft Writing Style Guide and the Google developer documentation style guide: short sentences, active voice, present tense, second person ("you").

Audiences#

Every module is documented for the audiences that use it. Say who a page is for in its first sentence.

AudienceWhat they needWhere it lives
End userTo do their daily work: step-by-step tasks, what each screen means.Overview, Quick start, task pages
Manager or approverTo decide, approve and read reports.Task pages for approvals, Reports and dashboards
External user (customer, vendor, employee on the portal)A short, self-service guide that never mentions internal screens.A Portal guide page, written separately from the internal pages
AdministratorTo install, configure, secure and maintain.Configuration, Roles and permissions, Troubleshooting
Developer or implementerTo extend and integrate: data model, security, routes, scheduled actions.The Technical reference pages

The standard page set#

Every module family gets one section. Use these pages in this order. Leave a page out only when it truly does not apply (a module with no portal has no Portal guide), and say so in the overview.

Page (file name)Diátaxis typeContents
10-overviewExplanationWhat the module is for, who uses it, the problems it solves, what is included, what it depends on, and how it fits with the other modules.
20-conceptsExplanationThe vocabulary and the model in the user's terms: states, rules and calculations explained with small worked examples.
30-quick-startTutorialOne complete first success, from nothing to a visible result, in under 15 minutes, with a workflow diagram.
40- to 79- task pagesHow-toOne task per page, titled with a verb: "Publish a schedule", "Approve a purchase order".
80-portal-guideHow-toThe external-facing guide, if the module has a portal.
85-reports-and-dashboardsReferenceEvery report and dashboard: what each figure means and how it is calculated.
90-roles-and-permissionsReferenceEach security group, exactly what it can and cannot do, and the access rules behind it.
92-configurationHow-to and referenceEvery setting, scheduled action and system parameter, with defaults and effects.
94-integrationsReferenceConnections with other SmartERP modules and outside systems.
96-troubleshootingHow-toSymptoms and the exact text of error messages, with causes and fixes.
100-technical-architectureExplanationModule map, dependencies, and a data-model diagram.
110-data-modelReferenceEvery model and its important fields, constraints and methods.
120-security-referenceReferenceGroups, access rights, record rules, and the checks done in code.
130-automation-referenceReferenceScheduled actions, server actions, email templates, routes and webhooks.
140-testing-and-upgradesReferenceWhat the automated tests cover, how to run them, and upgrade and migration notes.

The section's _section.md gives it a title and a one-line summary. When a family has several modules, one module owns the section (and its _section.md); the other modules add their pages to the same section without a _section.md, as described in Document your own module.

Writing rules#

Titles and headings#

  • Task pages start with a verb: "Create a shift template", not "Shift templates".
  • Concept pages use a noun phrase: "How shifts are allocated".
  • Start headings at ## and keep them in order. Give an explicit address, such as {#guardrails}, to any heading other pages link to.

Steps#

  1. Say what the reader needs first (a role, a setting, existing data).
  2. Number the steps. One action per step. Put the result after the step that causes it: "The shift turns green."
  3. Name every button, menu and field exactly as the screen does, in bold. Check the label against the running system, never from memory.
  4. End with what the reader can do next, using a doc: link.

Voice and words#

  • Use "you", present tense and active voice.
  • One term for one thing. Use the term in the Glossary, and add new terms there.
  • Avoid "simply", "just", "obviously" and "easy". Avoid idioms: many readers use English as a second language.
  • Write numbers and dates unambiguously (2026-09-15, "15 September 2026"). Show money with its currency (12,500 ETB).
  • Put commands, file names, field names and menu paths in code or bold as appropriate, and quote error messages exactly, because people search for the text they see.

Warnings come first#

Put a callout before the step it applies to, never after. Use [!WARNING] for something that can go wrong, [!CAUTION] for data loss or money, and [!IMPORTANT] for something the reader must not miss.

Accuracy rules#

Documentation that is wrong is worse than none. These rules are not optional.

  1. Derive every statement from the module itself: its manifest, models, views, security files, wizards, scheduled actions, tests, and the running system. If you cannot find it there, do not write it.
  2. Do not invent. No made-up features, limits, prices, performance figures, certifications or legal claims. A statement about Ethiopian tax, pension or labour law must name its source or be left out.
  3. Say what the module does not do when a reader would reasonably expect it. Limits and known gaps belong in the documentation.
  4. Quote labels and messages from the code (string= attributes, view XML, _("...") messages) and confirm them on screen.
  5. Record doubts in the section's review notes instead of guessing in the page.
  6. Every module version is stated as "applies to 17.0.x". Pages that describe behaviour that changed between versions say so.

Screenshots#

  • Demo data only. Never capture real customer, supplier, employee, salary, bank or contact data. Use the records labelled [DEMO], or create new demo records that are labelled the same way. The screenshot tool scans for emails, keys and phone numbers, but it cannot recognise a real person's name, so you must choose the screen carefully and use mask for anything doubtful.
  • One screenshot should prove one point. Crop to the relevant area (capture with a selector) and number the call-outs (annotate).
  • Size 1280 by 760 for full screens. Keep each file under the 250 KB budget.
  • Give every image alt text that describes what the reader would see, and a caption that says why it is there.
  • Name the asset <family>-<what>, for example planning-schedule-week.
  • Shot lists live in smarterp_docs/shots/<family>.json. See Screenshots.
  • Retake screenshots after a change to the screens: python3 smarterp_docs/tools/shots.py --check lists the stale ones.

Diagrams#

Every module family has at least:

  • a workflow diagram for each main process, in swimlanes by who does the work (user, approver, system);
  • a status diagram for each record that has statuses;
  • in the technical reference, a module map (which module depends on which) and a data-model diagram of the main models.

Keep a diagram to about nine boxes. If it needs more, split it. Diagram specs live in smarterp_docs/diagrams/<family>.json and are drawn by smarterp_docs/tools/diagrams.py, so they match the site's look in light and dark mode. Always add the same steps as text, because a diagram is not a substitute for words.

Review and quality gate#

A section is finished when all of these are true:

  • Every page in the standard set exists, or the overview says why not.
  • Every statement was checked against the code or the running system.
  • Every task was walked through on the pilot using only the page, and it worked.
  • Screenshots use demo data and show the current screens.
  • python3 smarterp_docs/tools/run_offline_tests.py passes: no broken links, every page has a summary, headings are in order.
  • The pages read cleanly on the site at /docs, in light and dark mode.
  • A second person (or a fresh reader) followed the Quick start without help.

Languages#

Sections are written in English first. Once an English section is reviewed and stable, it is translated into Amharic page by page, and a native reader checks the result before release. A section joins the translation-parity tests as soon as its first Amharic file exists. See Translating.

መጨረሻ የተሻሻለው: 2026-10-16