[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proposal for 1.4: CoA structure redesign
- Subject: Re: Proposal for 1.4: CoA structure redesign
- From: "Grant Likely" <..hidden..>
- Date: Fri, 19 Oct 2007 16:22:50 -0600
On 10/19/07, Chris Travers <..hidden..> wrote:
> On 10/19/07, Chris Travers <..hidden..> wrote:
>
> > > I don't see any obvious handling of foreign currency accounts. How
> > > would, for example, a USD account be handled for a CAD business? (For
> > > that matter, I don't understand how to do this in the current 1.2
> > > series)
> >
> > Good point. We should probably build in a default currency into asset
> > accounts. This will require a preloaded currency table.
>
> Just in case anyone is wondering, the actual accounting storage and
> reports aside from reconcilliation would still be handled in a single
> master currency. This would probably need to be a different set of
> tables like:
>
> CREATE TABLE currency (
> id SERIAL NOT NULL UNIQUE,
> short_name TEXT PRIMARY KEY,
> name TEXT NOT NULL UNIQUE
> );
>
> CREATE TABLE account_currency (
> id SERIAL NOT NULL UNIQUE,
> currency INT REFERENCES currency(id),
> account int REFERENCES account(id)
> PRIMARY KEY (currency, account)
> );
>
> The goal here is to keep people from depositing the wrong currency
> into accounts that don't support it, for non-default currency
> operations of asset accounts.
How does this work as the exchange rates change over time?
If I deposit a USD amount into a USD bank account, that amount needs
to be constant over time. If the asset account balance is stored in
the master currency (let's say CAD), then that account needs to be
fixed to a certain exchange rate at a certain point in time. When the
exchange rate changes, it seems like the stored account balance needs
to be adjusted so the USD balance will remain constant. Plus when
doing a reconciliation or report, the fixup transactions need to be
hidden and each real transaction needs to be adjusted for whatever
exch rate was in affect for that particular transaction.
Finally, on the user interface front, will I need to know what the
exchange rate is even if I'm doing a USD transaction on a USD account?
(For instance, paying a USD invoice to a USD account).
Am I understanding correctly here?
Cheers,
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
..hidden..
(403) 399-0195