2025-07-16 11:31:47 -04:00
|
|
|
module Account::Reconcileable
|
|
|
|
extend ActiveSupport::Concern
|
|
|
|
|
|
|
|
def create_reconciliation(balance:, date:, dry_run: false)
|
2025-07-17 06:49:56 -04:00
|
|
|
result = reconciliation_manager.reconcile_balance(balance: balance, date: date, dry_run: dry_run)
|
2025-07-18 17:56:25 -04:00
|
|
|
sync_later if result.success? && !dry_run
|
2025-07-17 06:49:56 -04:00
|
|
|
result
|
2025-07-16 11:31:47 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
def update_reconciliation(existing_valuation_entry, balance:, date:, dry_run: false)
|
2025-07-17 06:49:56 -04:00
|
|
|
result = reconciliation_manager.reconcile_balance(balance: balance, date: date, existing_valuation_entry: existing_valuation_entry, dry_run: dry_run)
|
2025-07-18 17:56:25 -04:00
|
|
|
sync_later if result.success? && !dry_run
|
2025-07-17 06:49:56 -04:00
|
|
|
result
|
2025-07-16 11:31:47 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
def reconciliation_manager
|
|
|
|
@reconciliation_manager ||= Account::ReconciliationManager.new(self)
|
|
|
|
end
|
|
|
|
end
|