Prompt

How do I set up a general ledger system for multi-entity bookkeeping with role-based access?

Finance · Accounting Fintech / Accounting fintech1 observationLast seen Jul 23, 2026

Latest observation

Jul 23, 2026 · OpenAI APIWeb search: off

Here’s a practical way to set up a general ledger (GL) system for multi-entity bookkeeping with role-based access.

1) Define the organizational structure

Start by modeling your business structure clearly:

  • Legal entities: Each company, subsidiary, LLC, branch, etc.
  • Books per entity: Usually each legal entity has its own books and financial statements.
  • Consolidation structure: If you need group reporting, define parent/subsidiary relationships.
  • Optional dimensions:
    • Department
    • Location
    • Project
    • Product line
    • Cost center

This lets you separate reporting by entity while still tracking shared operational details.


2) Design the chart of accounts

Build a standardized chart of accounts that can be used across entities.

Recommended structure:

  • Account code
  • Account name
  • Account type: Asset, Liability, Equity, Revenue, Expense
  • Parent account for rollups
  • Active/inactive status
  • Allowed entities if some accounts apply only to certain entities

Tip: Keep the chart consistent across entities unless there is a strong business reason not to.


3) Add entity-aware journal entry support

Your GL should store entries with at least these fields:

  • Journal entry ID
  • Entity ID
  • Entry date
  • Posting date
  • Account ID
  • Debit
  • Credit
  • Currency
  • Description/memo
  • Source document reference
  • Created by / approved by
  • Status: draft, approved, posted, reversed

Important rules:

  • Every journal entry must balance per entity and currency as required.
  • Prevent posting across entities unless you explicitly support intercompany accounting.
  • Support reversing entries and audit trails.

4) Handle intercompany transactions

For multi-entity bookkeeping, this is critical.

Create:

  • Intercompany accounts in each entity
  • Intercompany elimination logic for consolidated reporting
  • Matching rules for intercompany payables/receivables

Example:

  • Entity A records a sale to Entity B
  • Entity A books intercompany receivable
  • Entity B books intercompany payable
  • Consolidation eliminates both sides

5) Define role-based access control

Use RBAC with roles tied to both permissions and entity scope.

Common roles

  • Admin: full access
  • Accountant: create and edit journals, view reports
  • Approver/Controller: approve and post entries
  • Viewer/Auditor: read-only access
  • Entity accountant: limited to assigned entities
  • AP/AR clerk: source-entry access only
  • Consolidation manager: group-level reporting only

Permission examples

  • View GL reports
  • Create journal entries
  • Edit draft entries
  • Approve entries
  • Post entries
  • Reverse entries
  • Manage chart of accounts
  • Manage entities
  • Export data
  • View audit logs

Scope examples

  • All entities
  • Specific entity
  • Specific entity + department
  • Group consolidation only

A user may be “Accountant” for Entity A and “Viewer” for Entity B.


6) Use workflow controls

For financial accuracy, separate duties:

  • Creator enters or imports the journal
  • Approver reviews and approves
  • Poster finalizes it
  • Auditor can inspect but not change

Also add:

  • Approval thresholds
  • Two-step approval for high-value journals
  • Period close controls
  • Locked periods after close
  • Exception workflow for adjustments

7) Build an audit trail

Track every important action:

  • Who created/edited/approved/posted/reversed
  • Timestamp
  • Old vs new values
  • Reason for change
  • IP/device metadata if needed

This is essential for compliance and internal control.


8) Support reporting

At minimum, produce:

  • Trial balance by entity
  • Balance sheet by entity
  • Income statement by entity
  • Consolidated financials
  • General ledger detail
  • Journal listing
  • Intercompany aging
  • Account rollups
  • Comparative period reporting

Make reports filterable by:

  • Entity
  • Date range
  • Account
  • Dimension
  • Currency

9) Plan the database model

A simple relational model might include:

  • users
  • roles
  • permissions
  • user_roles
  • role_permissions
  • entities
  • entity_user_access
  • accounts
  • journal_entries
  • journal_lines
  • approvals
  • periods
  • audit_logs
  • consolidation_eliminations
  • dimensions and dimension_values

Key idea: keep access control separate from accounting data, but enforce it in every query and write operation.


10) Security and compliance basics

  • MFA for privileged users
  • Strong password policy / SSO
  • Least-privilege access
  • Immutable posting records
  • Encrypted data at rest and in transit
  • Regular backups and recovery tests
  • Segregation of duties
  • Logging and monitoring

11) Recommended implementation approach

If you’re building this from scratch:

  1. Start with a single-entity GL
  2. Add entity dimension to accounts and journals
  3. Add RBAC and entity-scoped permissions
  4. Add approvals and period close
  5. Add intercompany support
  6. Add consolidation and eliminations
  7. Add dimension-based reporting

If you’re using an ERP/accounting platform, configure:

  • entities
  • COA
  • roles
  • posting rules
  • approval workflows
  • consolidation mappings

12) Example access matrix

RoleEntity AEntity BConsolidationPost JournalsApprove
AdminYesYesYesYesYes
Entity AccountantYesNoNoYesNo
ControllerYesYesNoYesYes
Consolidation ManagerNoNoYesNoYes
AuditorRead-onlyRead-onlyRead-onlyNoNo

If you want, I can also provide:

  1. a database schema example,
  2. a sample permissions model, or
  3. a workflow diagram for multi-entity GL with approvals.

Observation history

Unlock observation history

Create a free Obsurfable account to unlock historical responses, model comparisons, and deeper brand intelligence.

How did Obsurfable measure this prompt?

Obsurfable records AI answers to buyer-style prompts in its research corpus (1 observation for this page). Metrics are distributions over observations, not a single static ranking.

Which AI systems does Obsurfable collect answers from?

OpenAI, ChatGPT, Google, Gemini, Google AI Mode, Anthropic, Claude, Perplexity, Grok, DeepSeek, Mistral, Copilot, and Meta AI.