Skip to content

Latest commit

Β 

History

78 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

sumeru_addons

CI Go License Pre-Alpha

Caution

🚧 Pre-Alpha Software

Sumeru and its standard addons are pre-alpha software. They are under active development and are not ready for production or commercial use.

  • No production use. Do not deploy to production or run live business workloads. Stability, security, and data integrity are not guaranteed.
  • Not for sale. Do not offer, resell, license, or deploy Sumeru to customers. This is not a commercial product.
  • Evaluation only. Use for local development, testing, and feedback at your own risk.

APIs, data models, and behavior may change without notice. There is no migration guarantee and no production support.

Standard business addons for Sumeru β€” CRM, Sales, Accounting, Purchase, HR, and supporting apps. Each directory at the repo root is an installable Sumeru module with a manifest.json, Go models, and XML views.

Go module: sumeru_addons Β· depends on sumeru only (replace sumeru => ../sumeru in go.mod).


Module catalog

Module Display name Summary Depends
product Products Product catalog shared by sales, purchase, and accounting base
utm UTM Tracking Campaigns, mediums, and sources for lead attribution base
crm CRM Leads, pipelines, teams, and opportunities base, contacts, mail, utm
sale Sales Quotations and sales orders product, contacts, crm
sale_crm Sales CRM Bridge Draft quotation when an opportunity is won sale, crm
account Invoicing COA, journal entries, taxes, payments, financial reports, bank reconciliation, analytic product, contacts
purchase Purchase RFQ β†’ confirmed PO β†’ vendor bill account, product
hr Employees Employee directory, departments, and job positions base, contacts

Kernel apps such as contacts and mail ship with sumeru β€” they are not in this repository but are required by several modules above.

Install order

Install modules in dependency order. A typical full stack:

product β†’ utm β†’ crm β†’ sale β†’ sale_crm β†’ account β†’ purchase β†’ hr

From your Sumeru workspace (see sumeru_custom_addons):

go run . -- -c sumeru.conf -i product,utm,crm,sale,sale_crm,account,purchase,hr --stop-after-init

Update a single module after pulling changes:

go run . -- -c sumeru.conf -u account --stop-after-init

What each app covers

CRM & Sales

  • CRM β€” Pipeline kanban, forecast views, lead scoring (PLS), assignment rules, merge/convert/lost wizards, prorated and recurring revenue fields.
  • Sales β€” Quotation β†’ confirmed order, sequences, tax-aware lines, invoice status tracking.
  • sale_crm β€” Event bridge: winning an opportunity creates a draft quotation (no UI of its own).

Accounting

The account module is a consolidated accounting suite:

Area Models / features
Core Chart of accounts, journals, moves & lines, taxes, payment terms, fiscal positions
Payments Customer/vendor payments, payment register wizard, move reversal
Reporting Profit & Loss, Balance Sheet, Trial Balance, General Ledger
Bank Bank statements, statement lines, reconciliation workspace
Analytic Analytic plans and accounts

Operations & HR

  • product β€” Products and categories; income/expense account links for posting.
  • purchase β€” RFQ/PO workflow with vendor bill generation via account.
  • hr β€” Employees, departments, and jobs.
  • utm β€” Marketing attribution (campaign, medium, source) linked from CRM leads.

Addon anatomy

Every module in this repo follows the same layout:

<technical_name>/
  manifest.json       # name, depends, data files, application flag
  init.go             # blank-imports models, services, controllers, wizards
  models/             # Go structs (sdk.Model embed + sumeru tags)
  views/              # list, form, kanban, actions, menus (XML)
  security/           # groups, record rules, sys.access.csv
  data/               # seed XML, sequences, demo (optional)
  services/           # business logic (optional)
  controllers/        # HTTP routes (optional)
  wizard/             # transient models (optional)

Rules:

  • Folder name = technical module name β€” must match ^[a-z][a-z0-9_]*$ and equal manifest.json β†’ "name".
  • depends β€” only list modules from sumeru/addons or this repo; this Go module must not import other addon repos.
  • data β€” paths relative to the module root; loaded on -i (install) or -u (update).

Go models

Models are Go structs embedding sdk.Model with struct tags consumed by the ORM and code generator.

type SaleOrder struct {
    sdk.Model `sumeru:"model=sale.order"`

    PartnerID sdk.Many2One[CorePartner]       `sumeru:"string=Customer"`
    State     sdk.Selection[SaleOrderState]    `sumeru:"string=Status,default=draft"`
    AmountTotal sdk.Numeric                    `sumeru:"string=Total,precision=18,scale=2,default=0"`
}

Conventions used across this repo:

Pattern Location Purpose
selection_types.go models/ Typed enums for sdk.Selection[T]
zrefs.go models/ Aliases for cross-module relations (CorePartner, ProductProduct, …)
zmodels.go models/, wizard/ Generated sdk.MustRegister β€” run make generate from the workspace after adding models

Internal relations use the module’s own structs (Many2One[AccountJournal]). Cross-module refs go through zrefs.go aliases, matching the pattern in engagement_cookbook.


Development

Run and test

This repo is not the process entry point. Clone it as a sibling of sumeru and sumeru_custom_addons, add ../sumeru_addons to addons_path, then run the server from the custom workspace. Full setup: sumeru_custom_addons README.

After model or module changes:

# From sumeru_custom_addons
make generate

# From this repo
go test ./...
go vet ./...

Where to put changes

Goal Where
Improve a standard business app Pull request to this repo
Customer-specific module or override sumeru_custom_addons/addons/
Engine, kernel apps (base, mail, …) sumeru

Do not fork or patch modules here for a single deployment β€” extend from the custom workspace so upstream pulls stay clean.

See CONTRIBUTING.md for the PR workflow, generate loop, and review expectations.


Related repositories

Repository Role
ProjectMeru/sumeru Core engine and kernel addons
ProjectMeru/sumeru_addons Standard business apps (this repo)
ProjectMeru/sumeru_custom_addons Workspace runner, custom addons, generated imports

Contributing Β· Security Β· License

Licensed under the Apache License, Version 2.0.

About

Standard business addons for Sumeru

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages