How to Prepare and Import Custom Upload .CSV Files

Existing custom upload ledgers cannot be updated (appended). If you have new transactions, you must delete the existing ledger and re-create a whole new ledger with all transactions (both new transactions and old transactions).

To use the custom upload, you will need to create a CSV file which includes all the transactions you wish to have in your ledgers, and upload that file into your NODE40 Balance account. Individual ledgers will be created for each digital currency included in your file.

We have provided a file to help get you started. See below for information about what data to include in the file. If you would like to download the google sheets version of this file, click here.

STEP 1: Create Your CSV File

Download our CSV Template which contains the required headers and save it with any name you choose but remember it  must have a “.csv” file extension (e.g my-transactions.csv).

There are thirteen (13) fields in the template, each representing some important component of your trade activity. Six (6) fields are optional but we encourage you to provide as much detail as possible even when optional to help add context to your ledgers. In particular, the following fields will help future analysis when available: TRANSACTION_ID, HASH, ADDRESS, and DESCRIPTION

Some Formatting Rules

When the format is “Text,” and the value you entered contains a comma (,), you must surround the value with double quote (“). For example, the description “Donation to a really, really, awesome charity” contains two commas, you must surround the entire description with double quotes.

Example Custom Upload

The following link shows an example file. We included five sample transactions that represent some common trades. Example Custom Upload

Explanation of Fields

*Fields that are in bold are required.

Field name

Description

Format

TRANSACTION_ID
(optional)

ID will be generated if none provided

An identifier for the transaction. Must be unique, if provided.

Some exchanges provide this information and if available, it can be useful to match up exchange activity with your NODE40 ledger.

Text

ACCOUNT_ID
(required)

The identifier for the account/organization this transaction is a part of. This value will be used to separate transactions into account based ledgers.

Some users choose to use the name of the exchange or wallet they used. For example: poloniex or Trezor-Acnt-1

Text

AMOUNT
(required)

The quantity of digital currency in this transaction specified by the TYPE field (see below). This value should not include any fees that have been charged. For fee information see FEE_AMOUNT and FEE_AMOUNT_UNIT below.
Values must be positive. The system does not accept a negative value.

For example, if the TYPE field is ETH (Ethereum), 7.700000000000000178 would be 7.7 Ethereum and a tiny bit more.

Numeric

AMOUNT_UNIT
(required)

A digital currency symbol. For example, BTC, ETH or LTC. Must be non-fiat.

Text

 

PRICE
(optional)

 

The price of a single major unit of the AMOUNT_UNIT expressed in terms of the PRICE_UNIT. (NOTE: price unit can be USD or another digital currency).

Example: You purchased 0.3 LTC for $36.00. You would enter 120.00 (PRICE_UNIT would be USD)

  • PRICE must be positive

  • PRICE_UNIT must not match AMOUNT_UNIT

  • if PRICE is entered and TYPE equals DEPOSIT OR WITHDRAWAL, PRICE_UNIT must be USD

  • if PRICE included and TYPE equals BUY OR SELL, PRICE_UNIT must be non fiat or PRICE_UNIT must be USD

if AMOUNT_UNIT and PRICE_UNIT are both provided and type is BUY or SELL, there will be 2 system-generated transactions created to represent both sides of the trade.

Numeric

PRICE_UNIT 

A digital currency symbol or “USD” for a purchase of digital currency made using the United States dollar.

See the description for PRICE above for example of PRICE_UNIT.

Text

TYPE
(required)

The type of transaction. It must match one of the following names exactly (all upper case)

BUY
SELL
DEPOSIT
WITHDRAWAL

Text

TRANSACTION_DATE
(required)

The date/time the transaction took place. If the transaction was “open” for a period of time before completing, this should be the completion date/time of the transaction not the open date/time.

Be sure the the date is in one of the following formats (usually the data you get from exchanges will be in one of these so you can copy/paste):

  • yyyy-MM-dd HH:mm:ss

  • MM/dd/yy HH:mm:ss

  • MM/dd/yy HH:mm

  • MM/dd/yy hh:mm:ss aa

  • MM/dd/yyyy hh:mm:ss aa

  • MM/dd/yyyy h:mm aa

  • M/d/yy HH:mm:ss

Key
MM - Month
yyyy (or yy) - 4 digit year (or 2 digit)
dd - day
HH (or hh) - Hour of day 0-23 (or 1-12)
mm - Minute
ss - second
aa - AM or PM (use with hh)

Example 1: June 1, 2018
2018-06-01 00:00:00

Example 2: February 15, 2018 at 9:04pm
2018-02-15 21:04:00

See Description

FEE_AMOUNT
(optional)

If you paid a fee for the transaction, provide it in this field. This should be in addition to/separate from the value provided for AMOUNT.

Values must be positive. The system does not accept a negative value.

Example 1: If you sold $1,000 worth of BTC and it cost you $0.06 as a fee, you would enter .06 in this field (FEE_AMOUNT_UNIT would be USD).

Example 2: If you purchased 0.08855296 BTC and it cost 0.0000178 BTC, enter 0.0000178 in the field (FEE_AMOUNT_UNIT would be BTC)

Numeric

FEE_AMOUNT_UNIT
(optional)

USD is the only acceptable fiat, otherwise this field should include a digital currency symbol.

See the description for FEE_AMOUNT above for example of FEE_AMOUNT_UNIT.

If FEE_AMOUNT_UNIT does not match any currency, a separate fee transaction will be system-generated.

Text

HASH
(optional)

The blockchain hash for this transaction.

Only transactions that took place on a blockchain will include this information. Including it when available enables you to view the transaction on the blockchain.

An example of a Bitcoin transaction is a77c6571b9607d168160df59206eff4e7828d26cbca34e5837b23adb10adeeb4

Text

ADDRESS
(optional)

An address for the transaction. This is most commonly used with either DEPOSIT or WITHDRAWAL transactions.

When you DEPOSIT digital currency into an exchange, you send it to an address. You would include that address in this field.

When withdraw digital currency from an exchange, you send it to an address. You would include that address in this field.

Text

DESCRIPTION
(optional)

A description to help identify the transaction.

While not always possible, we highly recommend including this field. If you leave it blank, you will have the ability to add it later once the data is uploaded to your NODE40 account.

Text

 

STEP 2: Creating Custom Upload Ledgers

  1. After you've gathered your transactions and added them to a CSV file using our CSV Template, choose +New Ledger from the Ledgers tab in your NODE40 account.

     

  2. Select Custom on the Select an Exchange screen.

     

  3. Add your file using the file picker, or drag and drop your file into the form, and click Upload.

custom3.jpg

 

custom2.jpg

If you would like to watch video tutorials which goes over the steps mentioned above, we have embedded them below.  

https://youtu.be/qisGjWziX_A?feature=shared