There needs to be multiple views for entering data.

Check view
The screen should like like a check with the opposing (double) entries underneath.  The Bank Accounts are listed in a drop down box in the lower left corner above the memo.  These are all edit fields:  check number, Payee, Amount, Memo.  The Date is a Portal Date Widget.  The text version of the amount will be generated on the fly (amount.onChange). 

Ex.

[ Bank Account drop down | \/ ]
 | 4777 |
Ledger Date
|_______________|
Pay to the order of |______________________________________________________|
$|_______________|
 two hundred million dom changed text field------------------------------------------------------------------------  DOLLARS
Memo |_edit field                                                                                        |  Rem[ ]
Sub Entity [________| \/ ]


Account SubAccount Amount
SubE Comment
[____________|\/] [__________|\/] |____2.22_| [___|\/] | edit field                  |
X

For the first version of this view all of these fields will stay editable--unless someone can come up with better ideas.  A future version might leave all of this as text and the user will click on a column heading to edit the rows in only that column or click on a row to edit only that row.  The last row in the set will always be empty and editable to allow the user to continue adding more rows.  When the user fills in both an Account and Amount, a new row is created.

The fonts should probably be smaller than normal and the style should be flat instead of 3d.  We need to conserve as much screen space as possible.  We need to start using styles throughout the entire app.

The amount on a check is a credit into the bank account and the Amounts on the lower table are debits if positive and credits if negative.

There will be a default Bank Account that will be automatically set in the drop down.  Of course the check number will be the next available check for that account.

In this view each Account, Sub Account pair will automatically fill in the amount on a subAccount.onChange.  This means a big internal storage will be kept with said data.

The Check view will set the Journal code to CP (cash purchases)  When a transaction is editing, the Journal code can identify which view to use.

If there are NO sub Entities created, then SubEntity.onEnter() should place the focus in the next column.

Clicking on the X will delete the row.  If there are 0 rows then create a blank one.

Recalled Data:  When the user chooses a Payee, Remembered and Recalled Data will be filled into the screen.  Obviously we do  NOT want to submit to the back end for this lengthy process. 

When there is only one row in the bottom table, then the onChange event for Amount in the check should also change the one row amount.

Sub Entity columns should not show unless SubEs are defined.

Deposit View
This view will allow the User to make deposits.

Ex.

[ Bank Account drop down | \/ ]         Deposit# | 200 |
Date |_______________|
Description |______________________________________________________________| [ ] Rem.
Ledger
$|_______________|
Memo |_edit field                                                                                             |
Sub Entity [______| \/ ]

Account
SubAccount Amount SubE Comment
|____     _|\/] [____________|\/] [____22______| [___|\/] | edit field                  |
X
 

This view is not very different from the check except that the amount on a deposit is a debit into the bank account and the Amounts on the lower table are credits if positive and debits if negative.

In this view each Account, Sub Account pair will automatically fill in the amount on a subAccount.onChange.  This means a big internal storage will be kept with said data.

The Deposit will automatically use CSR for the journal code

Transfer View

Ex.

Ledger
Date |___________|  Description |______________________________________________________________|
Memo |_edit field                                                                                             |  Rem [ ]

Account SubAccount Amount SubE Comment
[____________|\/] [__________|\/] |____2.22_| [___|\/] | edit field                  | X
[____________|\/] [__________|\/] |____2.22_| [___|\/] | edit field                  |
X

Only Bank accounts should show up in the Account Fields which of course affects the sub account fields.
When the first row amount is filled in onChange should automatically change the second row.  There should always be an empty row at the bottom for the user to add more data.  Start with two or three rows; play design with design ideas here.

If someone needs to transfer between other types of accounts they can use the DE view.

The transfer view will use TX for the journal code

Credit Purchases

The Credit Purchases (CDP journal) will be similar to a check but will have Liability accounts.

Ex.
Ledger

[ Liability Account drop down | \/ ] Date |_______________|
Pay to the order of |______________________________________________________|
$|_______________|
 two hundred million dom changed text field------------------------------------------------------------------------  DOLLARS
Memo |_edit field                                                                                        |  Rem[ ]
Sub Entity [________| \/ ]


Account SubAccount Amount
SubE Comment
[____________|\/] [__________|\/] |____2.22_| [___|\/] | edit field                  |
X

Credit Receipts
The Credit Receipts (uses CDR journal) will be similar to a check but will have Acct Receivable accounts.

Ex.
Ledger

[ Account Receivable drop down | \/ ] Date |_______________|
Payer |______________________________________________________|
$|_______________|
 two hundred million dom changed text field------------------------------------------------------------------------  DOLLARS
Memo |_edit field                                                                                        |  Rem[ ]
Sub Entity [________| \/ ]


Account SubAccount Amount
SubE Comment
[____________|\/] [__________|\/] |____2.22_| [___|\/] | edit field                  |
X

Double Entry
This view will be the traditional Debit/Credit view.  Any other view can actually be expressed as this view.  They should each have a button that allows them to be displayed as the DE view.  Use a Refresh or something.

New Features


There will be common items in each view such as

Creating/Editing Journal Entry (Transaction)

Transaction Entry


Double Entry

{Refresh}{Blank} {Submit}

|Sub Entity| |Account| |Sub Account| |Debit| |Credit|

[Edit] [Edit] [Edit] [edit][Edit]

[Drop down} [dropdown][drop down]

{Enter}{Blank}


(Layer with NON editable text)

Debits

Sub Acct SubAcct Deb Cred Edit Del

[ ] [ ] [ ] [ ] [ ] E D


Credits

Sub Acct SubAcct Deb Cred Edit Del

[ ] [ ] [ ] [ ] [ ] E D


E,D = image

javascript - store values in arrays


Input Items needed

* Amount

* Sub entity

* Account

* Sub account

* Debit/Credit


Options - Refresh page

Delete - remove from layer

Edit - remove from layer, place in edit fields.



Hide Double Entry


Jnl Date Payee


Remembered Memo


(list of accounts)

(mark bank accounts, query for next check, deps)


Sub E Account Num/Sub Amount Increase Decrease

[Edit} {Edit] [Edit] [Edit] O O

[Dropdown][Dropdown]

[Submit]


Transfer To:

Sub E Account Num/Sub

{Edit] [Edit] [Edit]

[Dropdown][Dropdown]<-onBlur---set focus to Submit Button


Submit

required: date, journal

if payee is blank,

do not recall data

else

payee is new payee


else

payee is old and no account entered


else

payee is old and account entered.


else

transfer account is entered

account is not chosen

stop. eror (javascript)

account is entered

else

transfer sub account chosen but transfer account is not



Second screen

-----

| Jnl Date Payee

| Rem Memo

----


1. Transaction Balance

Sub E Acct Sub/Num Amount Inc Dec

[ ] [ ] [ ] [ ] O O

[drop] [drop] [drop]


Amount is always positive. If they enter a (-) swap the Inc. Dec. radio select



2.CounterBalance

{Submit}{Refresh}{Blank}

|Sub Entity| |Account| |Sub Account| |Debit| |Credit|

[Drop down} [dropdown][drop down] {Enter}


(Layer with NON editable text)

Sub Acct SubAcct Amount Edit Del

[ text ] [ ] [ ] [ ] E D


[ text ] [ ] [ ] [ ] E D


E,D = image

javascript - store values in arrays


Input Items needed

* Amount

* Sub entity

* Account

* Sub account

* Debit/Credit


Options - Refresh page

Delete - remove from layer

Edit - remove from layer, place in edit fields.


The sum of the amounts in counterbalance must equal transaction balance.

IF the acct in 1. has Debit_increases=true then (+) positives in 2. are credits and (-) negatives are debits.

else acct in 1. has Debit_increases=false then (-) in 2. are credits and (+) are debits.


Copyright (c) 2001 HLR
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1; A copy of the license is available at http://www.gnu.org/licenses/licenses.html#FDL.

Updated: $Id: Journal.html,v 1.1.1.1 2001/08/09 19:02:21 moreejt Exp $