🧾 Build Your Own: ERP & CRM
The system a business actually runs on — contacts and a pipeline, the quote → order → delivery → invoice → payment chain, a stock ledger, and double-entry accounting underneath. Every series ends on a reconciliation rather than a feature, because the hard part of an ERP is not the schema, it is that the numbers have to agree.
No lessons published yet — this is the roadmap, so you can see exactly what the course will cover before it lands.
Before you start: Data Model Patterns — Series 1 and Series 2. This track applies the patterns rather than teaching them. Series 1 · 00 is the party model, Series 1 · 15 is effective dating and Series 2 · 10 is the order-to-cash chain — all three are assumed here from the first episode, and an episode that stopped to explain them again would be the wrong course.
Before you start: Learn SQL — Series 1. Every check in this track is a query. You need joins and GROUP BY well enough to write the reconciliation that proves the ledger agrees with the subledger, because that query is the artefact each series ends on.
Short on time? The 18 episodes marked core are the shortest path to being productive at work. Start there and pick up the rest whenever a job asks for them.
Series 1 · The CRM — People, Pipeline and Who Can See What
a running system before a single number has to balance
- 01
One Database, Several Departments — and the 5% You Are Actually Building
coreintermediate#foundationalcoming soon - 02
Accounts and Contacts — the Party Decision You Have to Actually Make
coreintermediate#partycoming soon - 03
The Pipeline — a State Machine, and the History Column You Cannot Add Later
coreintermediatecoming soon - 04
The Timeline — Three Ways to Point at Anything, and What Each One Costs
coreintermediatecoming soon - 05
Who Can See This Row — Ownership, Teams, and Why It Is Not a Login Problem
coreintermediatecoming soon - 06
Custom Fields — a Column, EAV or JSON, and the Question That Decides
intermediatecoming soon - 07
Project — a CRM With a Pipeline, a Timeline and a Visibility Rule That Holds
intermediatecoming soon
Series 2 · Quote, Order, Delivery, Invoice
the document chain, and the two rules that make it trustworthy
- 01
Products, Units and Price Lists — Why a Price Is Never a Column
coreintermediatecoming soon - 02
The Document Chain — and Why an Invoice Must Never Join to the Price
coreintermediatecoming soon - 03
Posted Is Immutable — Why an ERP Barely Has a DELETE
coreintermediatecoming soon - 04
Invoice Numbers — Why a Sequence Is the Wrong Tool for an Unbroken Series
intermediatecoming soon - 05
Partial Delivery, Partial Invoice, Partial Payment — Where Naive Schemas Die
coreintermediatecoming soon - 06
Credit Notes and Returns — Four Corrections That Are Not the Same Thing
intermediatecoming soon - 07
Project — Ten Ordered, Six Shipped, One Payment, and a Report That Agrees
intermediatecoming soon
Series 3 · The Ledger That Has to Balance
double entry, money, tax and a trial balance you can defend
- 01
Double Entry — a Data Structure With an Invariant, Not Accountancy
coreintermediate#foundational#accountingcoming soon - 02
Accounts and Journal Entries — the Constraint That Sums to Zero
coreintermediate#accountingcoming soon - 03
Posting — the Subledger, the Control Account, and the Query That Proves It
coreintermediate#accountingcoming soon - 04
Money — Integers, Allocated Rounding, and the Exchange Gain Nobody Models
coreintermediate#moneycoming soon - 05
Tax — Per Line, As of the Date, and Copied Onto the Document
intermediatecoming soon - 06
Closing a Period — Three Reconciliations, and a Trial Balance That Is Zero
coreintermediate#accountingcoming soon - 07
Project — Post a Month, Close It, Then Break the Ledger on Purpose
intermediatecoming soon
Series 4 · History, Stock and Going Live
the parts that decide whether anyone will rely on it
- 01
History Against Truth — Two Different Time Axes, and Why You Need Both
coreintermediatecoming soon - 02
Stock — Movements Are the Truth, On-Hand Is a Sum, and Costing Is the Hard Part
coreintermediatecoming soon - 03
Going Live — the Opening Journal, and Why Open Invoices Cannot Be One Lump
coreintermediatecoming soon - 04
When Reports Start Hurting — Four Rungs, and Where This Course Hands Over
intermediatecoming soon - 05
What You Left Out — and the Rule for Deciding What to Buy Instead
coreintermediatecoming soon - 06
Project — a Full Cycle, a Closed Month, and a Reconciliation Pack That Passes
intermediatecoming soon
Not here, on purpose
- The patterns themselves — party, roles, effective dating, order-to-cash, hierarchies — covered in Data Model Patterns. In this course, Series 1 · 05 and Series 2 · 05 apply them and argue the concrete choice for a system you will maintain, which is a different exercise from learning what they are
- How ERPNext, Odoo, Dolibarr and InvoiceNinja modelled it, and where they diverge — covered in Schema Teardowns, Series 2 · 05 and Schema Teardowns, Series 2 · 10. This track builds one rather than reading theirs — go and look at their schemas when a decision is hard, which is what that track teaches you to do
- Deciding what the tables should be, keys and normalization — covered in Data Modeling. This track starts after that decision, from a domain whose shape has been settled by fifty years of people getting it wrong
- Building an invoicing app from three schemas you took apart — covered in Schema Teardowns, Series 3 · 05, which is a smaller build and a different exercise — that one is informed by reading, this one is informed by the ledger having to balance
- Warehouse and reporting layers, star schemas and OLAP — covered in Data Warehousing. In this course, Series 4 · 15 covers only the moment your reports start hurting the transactional database, and hands over
- Running the database in production — backups, tuning, connection pooling — covered in Data Ops, Series 2. This track builds the system; keeping it up is that course's subject
- Manufacturing, payroll, project accounting and per-country statutory filing — not covered, deliberately. In this course, Series 4 · 20 names each one and explains why it is the point where a sensible team stops building and buys — which is the useful lesson, and the one nobody writes down
- Tax advice, or the rules of any particular jurisdiction — not covered and never will be. This track teaches the machinery that applies a rate as of a document's date; which rate, and which rules, belongs to the reader's accountant