- 3 minutes to read

System Landscape Diagram Example

The System Landscape diagram (L0) shows how multiple systems across an organisation relate to each other. It is the broadest view in the C4 hierarchy and a first-class diagram type in Nodinite — not a variant of L1 Context. Where an L1 focuses on one central system, an L0 Landscape covers all enterprise systems and their inter-dependencies.

See Example C4 Diagrams for an overview of all diagram types and when to use each.

When to Use

  • Enterprise architecture reviews and portfolio management
  • Identifying dependencies before a migration or reorganisation
  • Communicating the integration landscape to executives
  • Not a substitute for L1/L2/L3 — it does not zoom into any single system

Example: Finance Department System Landscape

Preview Mermaid Code
C4Context title Finance Department System Landscape Person(accountant, "Accountant", "Records and reports financial transactions") Person(controller, "Finance Controller", "Reviews financial reports and makes decisions") Person(finance_analyst, "Finance Analyst", "Performs financial analysis and forecasting") System(gl_system, "General Ledger System", "Central financial records and chart of accounts") System(ap_system, "Accounts Payable System", "Manages vendor invoices and payments") System(ar_system, "Accounts Receivable System", "Manages customer invoices and collections") System(budget_system, "Budget & Forecasting System", "Tracks budgets and financial forecasts") System(reporting_system, "Financial Reporting System", "Generates financial statements and reports") System_Ext(erp_system, "ERP System", "Contains HR, inventory, and operational data") System_Ext(bank_system, "Bank System", "Provides bank account and transaction data") System_Ext(tax_software, "Tax Software", "Calculates and files tax returns") Rel(accountant, gl_system, "Records transactions", "Web") Rel(accountant, ap_system, "Records vendor invoices", "Web") Rel(accountant, ar_system, "Records customer invoices", "Web") Rel(controller, reporting_system, "Reviews reports", "Web") Rel(finance_analyst, budget_system, "Creates forecasts", "Web") Rel(finance_analyst, reporting_system, "Analyzes data", "Web") Rel(gl_system, ap_system, "Receives GL postings from AP", "REST API") Rel(gl_system, ar_system, "Receives GL postings from AR", "REST API") Rel(gl_system, budget_system, "Provides actual vs budget comparison", "REST API") Rel(reporting_system, gl_system, "Reads transactions", "REST API") Rel(reporting_system, ap_system, "Reads liabilities", "REST API") Rel(reporting_system, ar_system, "Reads receivables", "REST API") Rel(ap_system, bank_system, "Initiates payments", "REST API") Rel(ar_system, bank_system, "Deposits collections", "REST API") Rel(gl_system, erp_system, "Receives labor costs and inventory adjustments", "REST API") Rel(reporting_system, tax_software, "Provides tax data", "File Export")
C4Context
    title Finance Department System Landscape

    Person(accountant, "Accountant", "Records and reports financial transactions")
    Person(controller, "Finance Controller", "Reviews financial reports and makes decisions")
    Person(finance_analyst, "Finance Analyst", "Performs financial analysis and forecasting")

    System(gl_system, "General Ledger System", "Central financial records and chart of accounts")
    System(ap_system, "Accounts Payable System", "Manages vendor invoices and payments")
    System(ar_system, "Accounts Receivable System", "Manages customer invoices and collections")
    System(budget_system, "Budget & Forecasting System", "Tracks budgets and financial forecasts")
    System(reporting_system, "Financial Reporting System", "Generates financial statements and reports")

    System_Ext(erp_system, "ERP System", "Contains HR, inventory, and operational data")
    System_Ext(bank_system, "Bank System", "Provides bank account and transaction data")
    System_Ext(tax_software, "Tax Software", "Calculates and files tax returns")

    Rel(accountant, gl_system, "Records transactions", "Web")
    Rel(accountant, ap_system, "Records vendor invoices", "Web")
    Rel(accountant, ar_system, "Records customer invoices", "Web")

    Rel(controller, reporting_system, "Reviews reports", "Web")
    Rel(finance_analyst, budget_system, "Creates forecasts", "Web")
    Rel(finance_analyst, reporting_system, "Analyzes data", "Web")

    Rel(gl_system, ap_system, "Receives GL postings from AP", "REST API")
    Rel(gl_system, ar_system, "Receives GL postings from AR", "REST API")
    Rel(gl_system, budget_system, "Provides actual vs budget comparison", "REST API")

    Rel(reporting_system, gl_system, "Reads transactions", "REST API")
    Rel(reporting_system, ap_system, "Reads liabilities", "REST API")
    Rel(reporting_system, ar_system, "Reads receivables", "REST API")

    Rel(ap_system, bank_system, "Initiates payments", "REST API")
    Rel(ar_system, bank_system, "Deposits collections", "REST API")

    Rel(gl_system, erp_system, "Receives labor costs and inventory adjustments", "REST API")
    Rel(reporting_system, tax_software, "Provides tax data", "File Export")

Next Step

See the Dynamic Diagram Example to understand how systems interact at runtime during a specific workflow.