---
tags: [accounting, model]
module: Accounting
---

# Reconciliation

## Connections
[[_Accounting]] · [[[Model]JournalEntry]] · [[[Model]JournalRecord]] · [[[Model]Account]] · [[[Model]BankStatement]] · [[[Repo]Repositories]] · [[[Controller]ReconciliationController]] · [[[Service]ReconciliationServices]] · [[[DB]DatabaseTables]]

## Source
```
Modules/Accounting/Models/Reconciliation.php
Modules/Accounting/Models/ReconciliationDetail.php
```

## Responsibilities
- Compares the system balance of an [[[Model]Account]] against an external audit total for a date range
- `ReconciliationDetail` lines reference individual [[[Model]JournalRecord]] entries that are part of the reconciliation
- A confirmed reconciliation generates a closing [[[Model]JournalEntry]] for the difference
- Status lifecycle: draft → confirmed

## Key Relationships

| Relation | Type | Target |
|---|---|---|
| reconciledAccount | belongsTo | [[[Model]Account]] |
| reconciliationAccount | belongsTo | [[[Model]Account]] |
| details | hasMany | ReconciliationDetail |
| journalEntry | belongsTo | [[[Model]JournalEntry]] (closing entry) |
| ReconciliationDetail.journalRecord | belongsTo | [[[Model]JournalRecord]] |

## Key Columns
`reconciled_account_id` · `reconciliation_account_id` · `date_from` · `date_to` · `system_total` · `audit_total` · `difference` · `status` · `added_by` · `confirmed_by` · `confirmed_at`

## Status Enum
`ReconciliationStatusesEnum` — draft / confirmed

## Traits
`AuditableTrait` · `SoftDeletes` · `UsesTenantConnection`
