Domain Driven Design for Finance & Cashflow Modeling
These are the supporting slides for a hands-on given at DDD EU 2020, focused on exploring the accounting and cashflow domains. Participants were given the task to understand the building blocks of a cashflow forecast app, using DDD principles.
cashflow forecasting and for who? • Accouting 101 for hackers and computer scientists 1 2 3 • Brainstorming exercise: identify the building blocks of a cashflow forecast app • Review of the outcome – a mapping between DDD concepts and accounting objects • Prototyping using a spreadsheet • Review of the outcome and what needs to be added for a fully functional app
(e.g. invoices) TRANSACTION ACTIVITIES ASSETS ACCOUNT IN (debit) OUT (credit) IN (debit) OUT (credit) TOTAL What economic aggregates are involved What accounts are subject to the transactions
(e.g. invoices) TRANSACTION ACTIVITIES ASSETS ACCOUNT IN (debit) OUT (credit) IN (debit) OUT (credit) TOTAL What economic aggregates are involved What accounts are subject to the transactions Expenditure In Liability Out 5000 5000 601 – raw goods 401 - Suppliers Liability In Cash Out 5000 5000 401 – Suppliers 512 - Bank 20/02/N 30/04/N
accountant’s To negotiate financial products with the banker To repay debt To plan for investments and new hires To pay yourself or your shareholder dividends To value a business (DCF)
for who? • Accouting 101 for hackers and computer scientists 1 2 3 • Brainstorming exercise: identify the building blocks of a cashflow forecast app • Review of the outcome – a mapping between DDD concepts and accounting objects • Prototyping using a spreadsheet • Review of the outcome and what needs to be added for a fully functional app