' . "\n"; // The two entry ids, debit and credit, are actually individual // entries in separate accounts (each make up one of the two // entries required for "double entry"). This, when we provide // reconcile information, we're really providing reconcile info // for two independent accounts. The reconciling entries, // therefore, are those on the opposite side of the ledger in // each account. For example, assume this "double" entry is // // debit: A/R credit: Cash amount: 55 // // Then, our accounts might look like: // // RENT TAX A/R CASH BANK // ------- ------- ------- ------- ------- // |20 | 20| | | <-- Unrelated // | | |20 20| | <-- Unrelated // | | | | | // |50 | 50| | | <-- Rent paid by this entry // | |5 5| | | <-- Tax paid by this entry // | | |55 55| | <-- THIS ENTRY // | | | | | // | | | |75 75| <-- Deposit includes this entry // | | | | | // // In this case, we're looking to provide reconcile information // of A/R for (the credit side of) this entry, and also of Cash // (for the debit side). Taking the accounts as individual // entries, instead of the "double entry" representation in the // database, we're actually providing information on the two // A/R entries, 50 & 5, which are both debits, i.e. opposite // entries to the credit of A/R. The cash account entry // reconciles against the credit of 75. Again, this is the // opposite entry to the debit of Cash. // // Thus, for our debit_ledger_id, we're reconciling against // credits, and for our credit_ledger_id, against debits. /********************************************************************** ********************************************************************** ********************************************************************** ********************************************************************** * LedgerEntry Detail Main Section */ $transaction = $entry['Transaction']; $ledgers = array('debit' => $entry['DebitLedger'], 'credit' => $entry['CreditLedger']); $entries = array('debit' => $entry['DebitEntry'], 'credit' => $entry['CreditEntry']); $customer = $entry['Customer']; $lease = $entry['Lease']; $entry = $entry['DoubleEntry']; $rows = array(); $rows[] = array('ID', $entry['id']); $rows[] = array('Transaction', $html->link('#'.$transaction['id'], array('controller' => 'transactions', 'action' => 'view', $transaction['id']))); $rows[] = array('Timestamp', FormatHelper::datetime($transaction['stamp'])); $rows[] = array('Effective', FormatHelper::date($entry['effective_date'])); //$rows[] = array('Through', FormatHelper::date($entry['through_date'])); $rows[] = array('Customer', (isset($customer['name']) ? $html->link($customer['name'], array('controller' => 'customers', 'action' => 'view', $customer['id'])) : null)); $rows[] = array('Lease', (isset($lease['id']) ? $html->link('#'.$lease['id'], array('controller' => 'leases', 'action' => 'view', $lease['id'])) : null)); $rows[] = array('Comment', $entry['comment']); echo $this->element('table', array('class' => 'item ledger-entry detail', 'caption' => 'Double Ledger Entry Detail', 'rows' => $rows, 'column_class' => array('field', 'value'))); /********************************************************************** * LedgerEntry Info Box */ /* echo '