- 3 minutes to read

System Landscape Diagram Example

The System Landscape diagram shows how multiple systems across an organisation relate to each other. It is broader than an L1 Context diagram — instead of focusing on one central system, it covers all 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.