[GNC] new namespaces for tokens and commodities

Weiwu Zhang a at colourful.land
Thu Aug 19 00:51:56 EDT 2021


It's been a few years since Bitcoin discussion last emerged on this
list. I realised that people often become very strong opinionated when
it comes to the topic of bitcoin, about whether it's a currency or
not.

The philosophical question doesn't interest me, the practical problem
is many businesses (like some of mine) spends cryptocurrency for goods
and services and receives them for payment, and there has to be a way
to account for these transactions. Not wanting to annoy anyone by
saying "overstating" it as a currency, how about let's add
non-currency namespaces instead.

Bitcoin is not the only trouble. Even without cryptocurrency,
companies are transacting with tokens already. Take BarterCard dollar
for example, an Australian dollar equivalent token popular among
tradies which is absolutely not a cryptocurrency, $600m annual
transaction value. 24,000 merchants and 50,000 cardholders. Not to
mention various reward points and "***Dollar" industry tokens. Today's
world is much different than 10 years ago when Bitcoin was first
discussed.

I'd propose two additional namespaces parallel to the current
"Currency" namespace: Tokens and Commodity

Tokens: this is for all types of payment tokens that are typically
called "Something Dollar" where something is an industry or company
name. They are typically pegged to a currency. "BarterCard Dollar" is
such an example. There are community dollars that is used only in a
city or a community group which can roughly fall into this category.
Commodity: this includes all kinds of a commodity that can be used for payment.

I'll simply propose that Tokens have an issuing company, such as
Qantas Points are issued by Qantas, while Commodity does not. Bitcoin
roughly falls into Commodity since they are not issued by any
organisation or individual. We can maintain a commodity list in
GnuCash officially and let Tokens be user-defined.

This allows Bitcoin to be accounted in GnuCash without official
endorsing Bitcoin as a currency. Instead, I propose GnuCash supports
commodity accounts, a type of non-currency account that can be used to
transact without buying/selling the commodity first.

The programming work doesn't sound much to me. We can ignore the
six-digit precision problem (Bitcoin typically use 8 digits past the
decimal point). Is anyone interested and would such work be accepted?
I'm interested in sponsoring some of the efforts.

Regards
Weiwu Z.


More information about the gnucash-user mailing list