packages feed

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.