Skip to main content

Importing Custom Investments from a Spreadsheet (property, bonds, art & more)

Template + step-by-step to import unsupported assets (property, bonds, art, private shares). Includes income & price update workflow.

Tom Wilson avatar
Written by Tom Wilson
Updated this week

Before you start

Custom Investments are how you track assets that Navexa doesn’t natively support (no live price feed). Think of it like this: you’re fitting your asset’s data into Navexa’s buy/sell + income model. Don’t force a square peg into a round hole; reshape your data to match the fields below, so it’ll work smoothly.

What you can track

  • Investment property

  • Corporate/OTC bonds

  • Art & collectibles

  • Private company shares / unlisted equity
    (…and similar one-off or unpriced assets)


Download CSV template

Field definitions

  • Symbol: Asset name you’ll recognise (e.g., “123 Example St, Richmond VIC 3121”, “CORPBOND-15DEC26”).

  • Trade Date: DD/MM/YYYY.

  • Trade Type: Buy or Sell.

  • Price: Per-unit price.

    • Property/art/private shares → the price for 1 unit.

    • Bonds (clean method)price per $1 face value (e.g., 1.06317).

  • Quantity: Units (property/art = 1; bonds = FaceValue; shares = number of shares).

  • Fee: Costs/fees on that trade.

    • Property (stamp duty, legals), art (premiums/commissions), shares (brokerage).

    • Bonds clean method → put accrued interest paid here on the Buy.

  • Exchange Rate: Only for non-AUD trades. Enter AUD per 1 foreign (e.g., USD 1.50).

  • Brokerage Currency Code: Only for non-AUD trades (e.g., USD).

  • Notes: Anything helpful for audit (“bank valuation”, contract total, etc.).

How it works: Navexa will track your position from Buy to Sell/Redemption, calculate P&L/CGT, and let you add income entries (rent, coupons, dividends) manually.

There’s no live pricing for Custom Investments—update the price yourself if you want mark-to-market.


Work through the examples in the template

Below, we explain how each example in the template should be interpreted and extended inside Navexa.

1) Investment Property

Buy

  • Price = purchase price for one unit (e.g., 850,000).

  • Quantity = 1.

  • Fee = stamp duty + legals (e.g., 35,000).

Sell

  • Price = sale price (e.g., 980,000).

  • Quantity = 1.

  • Fee = agent commission + conveyancing (e.g., 22,000).

Income (rent)

  • Open the holding → Add Dividend/Distribution.

  • Trust Income: No

  • Ex-dividend date / Paid date: when the rent was earned/paid.

  • Unfranked amount: rent received for that period.

  • Leave franking fields at $0.

  • Notes: “Rental income – Apr 2025” (attach statement if you like).

Updating the property’s value (no live feed)

  • Open the holding → Update Price.

  • Enter the new Price (e.g., from a bank/valuer report) and add a note “Bank valuation – 30/06/2025”.

  • This changes the holding’s valuation going forward (it doesn’t create a trade).


2) Bonds

Understanding Clean vs Dirty Prices (and how Navexa handles bonds)

How bonds work:
When you buy or sell a bond, you’re trading two things:

  1. The capital value — the bond’s underlying price (its “clean” value).

  2. The accrued interest — the interest earned since the last coupon payment.

Your total settlement (Consideration) is the sum of both.

In other words:

Dirty price = Clean price + Accrued interest.


The two ways to enter bonds in Navexa

1. Clean Price Method (recommended)

  • Enter the clean price in the Price column.

  • Enter the accrued interest paid in the Fee column on the Buy.

  • When you receive accrued interest back on sale or redemption, record it as income (Interest Payment).

  • Navexa then separates capital movement from interest income — so your reports better reflect bond tax treatment.

2. Dirty Price Method (simpler)

  • Enter the dirty price (the full amount you paid, including accrued interest) as Price.

  • Leave Fee as 0.

  • Navexa will treat the whole movement as capital — easier entry, but interest and capital aren’t separated.


What Navexa captures

  • Trades (Buy/Sell) → track your cost base, sale proceeds, and capital gain/loss.

  • Income (Interest Payments / Coupons) → record each coupon payment as a manual income entry.

  • Accrued Interest → captured automatically only if you use the clean method and record it in Fee on the Buy (and later as income at sale).

  • Valuation → can be updated manually via Update Price if you want to reflect market price changes before maturity.

In short:

  • Clean = split interest and capital accurately (more manual, more precise).

  • Dirty = combine them for simplicity (less precise but faster).


Template Example: Corporate Bond (clean price method)

Buy (clean method)

  • Price = CapitalValue ÷ FaceValue (e.g., 1.06317 for $53,158.50 ÷ 50,000).

  • Quantity = FaceValue (e.g., 50,000).

  • Fee = accrued interest paid at purchase (e.g., 429.50).

  • Notes: add the contract total for easy reconciliation.

Sell/Redemption (clean method)

  • Price = clean price at exit (e.g., 1.05500).

  • Quantity = 50,000 (or redeemed amount).

  • Fee = brokerage/settlement costs if any.

Income (coupons & accruals)

  • Coupons: Holding → Add Dividend/DistributionTrust Income: NoInterest Payment (or Unfranked amount) = coupon cash received → Notes “Coupon Q1 2026 – 3M BBSW + 3.75%”.

  • At sale/redemption: add an income entry “Accrued interest received” for the amount shown on the contract note.

  • For USD bonds, also fill Brokerage Currency Code = USD and the Exchange Rate so reports convert to AUD.

Price updates (optional)

  • If you want mark-to-market, open the holding → Update Price and enter a new clean price per $1 (e.g., 1.05000). Most users only update at redemption.


3) Art (USD example)

Buy

  • Price = hammer/buy price (e.g., 120,000).

  • Quantity = 1.

  • Fee = buyer’s premium (e.g., 3,000).

  • Brokerage Currency Code = USD, Exchange Rate = 1.50 (example).

Sell

  • Price = hammer/sale price (e.g., 180,000).

  • Quantity = 1.

  • Fee = seller commission (e.g., 15,000).

  • Use the exit day’s Exchange Rate.

Income

  • Typically none for art. If you receive exhibition fees or royalties, record them via Add Dividend/DistributionUnfranked amount (and set USD + FX if applicable).

Price updates

  • If you get a new appraisal, open the holding → Update Price and enter the revised valuation (and FX if you value it in foreign currency).


4) Private Company Shares

Buy

  • Price = price per share (e.g., 2.50).

  • Quantity = number of shares (e.g., 10,000).

  • Fee = $0 unless legal/issue costs you want included in cost base.

Partial Sell

  • Price = sale price per share (e.g., 3.80).

  • Quantity = shares sold (e.g., 4,000). Notes: “6,000 remain”.

Income (dividends)

  • If you receive a dividend: Add Dividend/Distribution.

    • If fully franked: fill Franked amount and Franking credits.

    • If unfranked: put the total in Unfranked amount.

    • Trust Income: No (unless it’s actually a trust distribution).

Price updates

  • After new rounds/valuations, open the holding → Update Price and note the source (“2025 audit valuation”).


Import steps (once your CSV is ready)

  1. Add Holdings → Import from Spreadsheet → Custom Investments.

  2. Upload CSV.

  3. On Match, map headers to the same-named fields (they should auto-match).

  4. Review totals (check that Price × Quantity + Fee matches your contract note).

  5. Import.


Tips & common gotchas

  • Dates must be DD/MM/YYYY.

  • Bonds: If you prefer the dirty method, set Price = Consideration ÷ FaceValue and Fee = 0 (simpler, but mixes accrual into price).

  • Foreign rows: always set Brokerage Currency Code and Exchange Rate.

  • Expenses outside a trade: add as an income adjustment with a negative value only if you intentionally want to reduce income (most users include costs inside the trade’s Fee instead).

  • Audit trail: put totals and references in Notes; attach files to income entries if useful.

Did this answer your question?