penny-bin-0.6.0.0: doc/amex-workflow.org
Amex Workflow
Here is a proposed workflow for dealing with the download of Amex
transactions and the reconciliation of Amex statements.
* Import to database using amex-import
This will parse downloaded data from the Amex website and import them
to the database of all Amex transactions and will assign all
transactions a "U-number." The U-number is a unique number that
identifies an Amex transaction. U-numbers are used because, although
Amex assigns unique identifiers to transactions, they are extremely
long.
* Merge from database to ledger file using amex-merge
Checks to ensure that every transaction that is in the Amex database
is represented in the ledger. Follows these steps:
- Is the database transaction's U-number found in the numbers for the
Amex transactions that are in the ledger? If so, stop.
- Otherwise, go through existing Amex ledger transactions that do not
have a U-number and see if any of these match the database
transaction. There is a match if all of the following are true:
- The quantities match exactly;
- The ledger transaction is a debit or a credit, as appropriate (if
Amex shows an increase in the balance, then the ledger shows a
credit; for payments, the ledger shows a debit.)
- The date on the Amex transaction matches the local date on the
ledger transaction.
- If no matches are found, create a transaction and append it to the
end of the list of Ledger transactions. Assign the appropriate
U-number. Prints new ledger file to stdout.
After running amex-merge, study the results. If necessary, assign the
U-numbers to already existing ledger transactions, or edit the newly
created transactions.
* Clear using amex-clear
This command will also work with a list of downloaded transactions. It
will follow these steps:
- Make sure that all the downloaded transactions are in the
database. If not, quit with an error.
- Make sure that all the downloaded transaction U-numbers are also in
the list of ledger transactions. If not, quit with an error.
- Make sure that each ledger posting corresponding to the downloaded
transaction has no flag for the posting itself (a flag for the
transaction is OK.) It one has a flag, quit with an error.
- Assign the flag "C" to each transaction. Prints new ledger file to stdout.
After running amex-clear, make sure that the balance of all cleared
and reconciled ledger Amex postings is the same as the Amex statement
balance.
* Reconcile using amex-reconcile
This command simply changes the "C" flags in the Amex ledger account
to "R" flags.