Description


For crypto asset exchanges and other companies holding crypto on behalf of customers, developing a scalable process for recording the appropriate assets and liabilities in your financials is critical. SoftLedger provides two different options for recording customer liabilities.


Option 1: Custom Coins


The most common option we see our customers adopt is creating custom coins for their customer crypto holdings.  For instance, if your internal Bitcoin holdings are recorded using BTC - Bitcoin, you can create a new coin called BTCC - Bitcoin Customer Holdings and use the same BTC rate.  This will automatically separate the assets, fees, and gains/losses into their own ledger accounts, simplifying the process of recording the impact for each transaction.


Below is an example of the Journal Entries using Option 1, for a crypto exchange where a customer deposits $100 USD to then purchase Bitcoin.


a. Customer Deposits USD
Dr. USD Customer Asset 100
Cr. Customer Holdings 100

b. Customer Trades USD for BTC
Dr. BTCC - Bitcoin Customer Asset 100
Cr. USD Customer Asset 100

c. Month End Reporting (Bitcoin now worth $120)
Dr. BTCC - Bitcoin Customer Asset 20
Cr. Customer Holdings 20


For those entries above, here is the breakout of which would be journals and which would be crypto transactions in the crypto module:


a  Journal Entry (unless using USD as a fiat coin, in which case this would be a crypto deposit)
b  Crypto Deposit (unless using USD as a fiat coin, in which case this would be a crypto trade from USD to BTC)
c  Journal Entry (based on Coins or Wallet screen export)



Option 2: Segmented Wallets


Another option is to use different SoftLedger Wallets to separate the internal and customer holdings.  In this case, the same coin (e.g. BTC) will be used for internal and customer holdings and you'll transfer or trade coins between these wallets to separate them. See internal and customer wallet:



And a set up of a transfer between SoftLedger wallets:



Then you can check and export balances between internal and customer holdings wallets on the Wallet Detail pages to book any entries from those balances as needed:



The main advantage to this approach is there's no need to trade between internal assets and customer assets, as all assets that are the same use the same coin.  You can use other dimensions (e.g. Customer) to distinguish customer transactions from international transactions as well.  That said, it is often more difficult to segment coins for accounting purposes using Option 2, as all transactions end up in the same ledger accounts.