SmartERP Documentation An Ashewa Technology Solutions Platform

Numbering schemes and calendar systems

Concurrent-safe numbering engine, draft tracking IDs versus official reference numbers, and dual Gregorian/Ethiopian fiscal calendar tokens.

1. Overview & Business Value#

This comprehensive operational guide details the architecture, business workflows, configuration parameters, and execution steps for Numbering schemes and calendar systems within SmartERP.

Official enterprise correspondence requires strict sequential numbering without gaps, duplicate identifiers, or premature assignment. SmartERP Letter & Correspondence Management implements a specialized numbering architecture (smarterp.letter.numbering) that solves common concurrency and fiscal calendar challenges in Ethiopian institutional environments.

{screenshot:numbering-and-calendars-overview-dashboard}

2. Prerequisites & Security Access Groups#

  • Required Modules: smarterp_letter, smarterp_correspondence
  • Security Groups:
    • Letter Registry Clerk (Technical ID: smarterp_letter.group_letter_clerk)
    • Executive Reviewer (Technical ID: smarterp_letter.group_letter_reviewer)
    • Director General (Technical ID: smarterp_letter.group_letter_executive)
  • Master Data Dependencies: Dual calendar templates (Ethiopian & Gregorian), official stamp repository, letter reference numbering formats, and departmental dispatch routes.

3. Step-by-Step Configuration & Execution#

Step 1: Navigating to the Module Interface#

  1. Log into your SmartERP instance at https://smarterp.et/odoo.
  2. Open the main App Switcher (grid icon in the top-left corner).
  3. Select the Correspondence app icon.
  4. From the top navigation bar, open Correspondence β†’ Letters β†’ Inbound / Outbound / Internal Memoranda.

{screenshot:numbering-and-calendars-app-switcher-navigation}

Step 2: Creating and Parameterizing Records#

  1. Click the New button in the top-left control panel.
  2. Complete the mandatory fields in the record form:
    • Letter Subject (Mandatory): Clear administrative or commercial subject heading
    • Sender / Recipient Entity (Mandatory): External institution or internal department
    • Dispatch Channel (Mandatory): Physical courier, hand delivery, or digital dispatch
    • Dual Date (EC & GC) (Mandatory): Official Ethiopian calendar and Gregorian dates
  3. Configure optional operational parameters and localized tags as required:
    • Digital Signature / Seal (Optional): Authorized executive cryptographic stamp
    • Security Classification (Optional): Routine, Confidential, Secret, or Top Secret
    • Related Prior Reference (Optional): Cross-referenced correspondence tracking ID
  4. Click the Save icon in the control bar to commit the record.

{screenshot:numbering-and-calendars-record-creation-form}

Step 3: Validating and Processing Transactions#

  • State Transitions: Execute operational state progression (Draft Memo β†’ Editorial Review β†’ Legal Clearance β†’ Executive Signature & Stamp β†’ Dispatched / Archived).
  • Ledger & System Impact: Maintains immutable institutional correspondence registry with cryptographic QR validation for external party verification.
  • Audit Verification: Automated recording of author ID, timestamp, and immutable revision history.

{screenshot:numbering-and-calendars-transaction-processing-state}

Dual-stage numbering architecture#

SmartERP cleanly separates the drafting phase from the formal legal registration phase:

  1. Draft Tracking ID (draft_number): Assigned automatically upon letter creation (e.g., DRF-2026-00011). This provides an immediate reference for draft tracking, internal chatter, and reviewer discussion without consuming an official registration slot. If a draft is cancelled or rejected, no gap is created in the official registry.
  2. Official Reference Number (reference_number): Allocated strictly when the letter is transitioned to the registered state by an authorized registry officer. Once allocated, this number is immutable and permanently binds the letter to the organization's official registry book.
Draft Creation:
  smarterp.letter -> draft_number = "DRF-2026-00011"
  (reference_number is NULL)

Registration:
  smarterp.letter -> reference_number = "ATS/CORP/OUT/2018/00042"
  (draft_number preserved for historical continuity)

Concurrency safety with PostgreSQL row locks#

In high-volume organizations where dozens of officers register correspondence simultaneously, traditional sequence generation can suffer from race conditions resulting in duplicate numbers or database rollbacks.

SmartERP Letter Numbering uses row-level locking at the database level:

SELECT id, number_next
FROM smarterp_letter_numbering
WHERE id = %s
FOR UPDATE;

This guarantees that:

  • Simultaneous registration requests are queued in order.
  • No two letters can ever receive the same official reference number.
  • In the event of a network or server interruption during registration, the sequence transaction is cleanly rolled back with zero orphaned sequence gaps.

Ethiopian and Gregorian calendar token reference#

Letter numbering schemes support rich dynamic token expansion, allowing organizations to structure references around departments, fiscal years, months, and letter categories.

TokenDescriptionExample Output (Gregorian Oct 2026 / Ethiopian Tikimt 2019)
{YYYY}Gregorian 4-digit Year2026
{YY}Gregorian 2-digit Year26
{MM}Gregorian 2-digit Month10
{DD}Gregorian 2-digit Day15
{EYYY}Ethiopian Calendar Year (α‹“.ም)2019
{EMM}Ethiopian Calendar Month (01-13)02 (Tikimt / αŒ₯α‰…αˆα‰΅)
{EDD}Ethiopian Calendar Day (01-30)05
{CODE}Company / Institution CodeATS (Ashewa Technology Solutions)
{DEPT}Department CodeFIN, HR, LEGAL, ENG
{TYPE}Correspondence Type CodeIN, OUT, MEMO, CIRC
{DIR}Direction IndicatorIN, OUT
{SEQ}Zero-padded Sequential Number00001, 00142

Common formatting patterns in Ethiopian enterprises#

  • Corporate Outgoing Standard:
    {CODE}/{DEPT}/OUT/{EYYY}/{SEQ} $\rightarrow$ ATS/HR/OUT/2019/00084
  • Governmental Ministry Register:
    {CODE}/{TYPE}/{EMM}/{EYYY}/{SEQ} $\rightarrow$ MOH/IN/02/2019/01250
  • Internal Memorandum:
    MEMO/{DEPT}/{YYYY}/{SEQ} $\rightarrow$ MEMO/FIN/2026/00312

Reset frequency and fiscal year boundaries#

Numbering schemes can be configured to reset automatically at specific intervals:

  • Never Reset: Numbers increment continuously across years.
  • Gregorian Year (Jan 1): Resets sequence to 1 every January 1st.
  • Ethiopian Fiscal Year (Meskerem 1 / Sept 11): Resets sequence to 1 at the beginning of the Ethiopian calendar year.
  • Monthly: Resets sequence to 1 on the first day of each calendar month.

4. Advanced Configuration Points#

  • Automated Actions & Scheduled Tasks (Crons):
    • Letters: Check dispatch delivery receipt status (smarterp_letter.ir_cron_dispatch_check): Runs daily to verify courier delivery confirmation slips
    • Letters: Follow-up on pending memorandum actions (smarterp_letter.ir_cron_followup): Runs weekly to alert assigned officers of pending correspondence replies
  • Custom Print Templates & Reports:
    • Official Letterhead Dispatch Copy with QR Verification
    • Institutional Letter Inward/Outward Registry Ledger
  • Multi-Company Rules: Record-level security isolation under Company 1 (Ashewa Technology Solutions S.C.), preventing cross-company ledger leakage across parent and subsidiary legal entities.

5. Comprehensive Troubleshooting Matrix#

Error Symptom / ExceptionProbable Root CauseCorrective Action / Resolution
Signature Block: Missing executive stamp clearanceLetter cannot be dispatched without authorized cryptographic stamp.Submit letter to Executive Office for digital signing.
Calendar Error: Invalid Ethiopian date conversionSpecified Ethiopian calendar date does not match leap year rules (Pagume 5/6).Use the automated calendar picker to ensure synchronized EC/GC conversion.
Unregistered Recipient: Partner profile missing TINExternal institutional recipient lacks complete corporate profile.Create or update recipient partner master record before dispatching.
Last updated: 2026-10-30