Ledgerized to Normalized Data Migration Guide

This document provides detailed instructions on how to migrate from ledgerized ("Luca") to normalized ("Source") data using our new Source Custodial Data APIs.

Fields Changes (differences and new fields)

Lots

/data/luca/positions -> /data/source/lots

Old Field Mappings

Luca FieldChangedSource FieldNotes
as_of_dateYes; namereported_date
account_idYes; nullableaccount_id (nullable)nullable in source data
security_idYes; nullablesecurity_id (nullable)nullable in source data
security_ledger_idYes; removedN/A
lot_idYes; namelot_identifier
directiondirection
abs_open_unitsYes; nameabs_current_units
open_dateYes; name, nullableoriginal_open_date (nullable)nullable in source data
appraised_unit_priceYes; name, two possible fields, nullableabs_current_value_unit_price (nullable)
abs_current_value_unit_price_reported(nullable)
abs_current_value_unit_price contains the source price as reported through source prices
abs_current_value_unit_price_reported contains the source price if reported through source lots (no sources currently report this).
Nullable
cost_basis_unit_priceYes; nullablecost_basis_unit_price (nullable)Computed using abs_cost_basis and abs_original_open_units
Nullable
realized_gain_lossYes; name, nullablerealized_gain_loss_reported (nullable)Currently not reported by any sources.
Nullable
abs_closed_unitsYes; nullableabs_closed_units (nullable)Computed using abs_current_units and abs_original_open_units
Nullable
cost_basis_knownYes; name, two possible fieldscost_basis_fully_known
cost_basis_fully_known_reported (nullable)
cost_basis_fully_known is true if the lot contains cost basis information is available and the original open date is known
cost_basis_fully_known_reported passes through the source's cost basis fully know field directly (currently reported by SWB, EGB)
origination_dateYes; removedN/A
partition_idYes; removedN/A

New Fields

Source FieldTypeNullableDescriptionNotes
sourceStringNoData source identifier
account_numberStringNoSource-provided account identifier
feed_codeStringNoSource-provided feed identifier
abs_current_valueNumberYes; null when no price is providedCurrent market value using the source-provided price
abs_current_value_reportedNumberYes; null if not provided by the sourceCurrent market value as reported directly by the source, if availableCurrently reported by IBK, NFS, PER, SWB,
abs_cost_basisNumberYes; null if not provided by the sourceCost basis for the lot. This information might be unknown or arrive late for any given lot, especially those resulting from transferred shares. Must be provided for cost_basis_fully_known to be trueCan be used to compute cost_basis_unit_price by dividing by abs_current_units
abs_cost_basis_adjustedNumberYes; null if there are no adjustments to cost basisCost basis adjusted for corporate actions, such as splits
unrealized_gain_lossNumberYes; null if it cannot be calculatedDifference between abs_current_value and abs_cost_basis. If either is null, this field will be null, but treated as zero for aggregating unrealized gain/loss
unrealized_gain_loss_reportedNumberYes; null if not provided by the sourceUnrealized gain/loss, as reported by the data source. Not all sources report unrealized gain/loss on lotsCurrently reported by NSF, SWB
abs_original_open_unitsNumberYes; null if not provided by the sourceThe number of open units that opened the lot. Not reported by all data sourcesCan be used to compute closed units by subtracting abs_current_units from abs_original_open_units if available
wash_saleBooleanNo; defaults to false
disallowed_loss_amountNumberYes; null if not provided by the sourceLost amount that cannot be used for tax offset, if the lot is part of a wash sale violation
certifiedBooleanNo
lot_selection_methodStringYes; empty string if not provided by the sourceLot matching selection method, such as FIFO, LIFO, etc. if provided by the source
source_security_symbolStringYes; empty string if not provided by the sourceSource-provided security identifier
source_security_cusipStringYes; empty string if not provided by the sourceSource-provided security identifier
durationStringYes; empty string if not provided by the source"LT" for long term lots that have been held for more than a year; "ST" for short term lots that have been held for a year or less

Positions

/data/luca/account-holdings -> data/source/positions

Old Field Mappings

Luca FieldChangedSource FieldNotes
as_of_dateYes; namereported_date
account_idYes; nullableaccount_id (nullable)Nullable in source data
household_idYes; removedN/A
security_idYes; nullablesecurity_id (nullable)Nullable in source data
directiondirection
abs_unitsabs_units
appraised_unit_priceYes; name, two possible fields, nullableabs_value_unit_price (nullable)
abs_value_unit_price_reported (nullable)
abs_value_unit_price contains the source price as reported through source prices
abs_value_unit_price_reported contains the source price if reported through source positions (currently reported for APX, DST, EGB, IBK, NFS, SWB)
Nullable
abs_beginning_valueYes; name, two possible fields, nullableabs_value (nullable)
abs_value_reported (nullable)
abs_value is the absolute value of the position using the source reported prices
abs_value_reported is the absolute value of the position reported directly through source positions (no sources currently report this)
Nullable
realized_gain_lossYes; removedN/AAvailable through realized gain loss endpoint (see below)
first_open_dateYes; nullablefirst_open_date (nullable)Nullable in source data (if no lots associated with position have cost basis)
latest_open_dateYes; removedN/A
cost_basis_knownYes; namecost_basis_fully_known
first_origination_dateYes; removedN/A
partition_idYes; removedN/A

New Fields

Source FieldTypeNullableDescriptionNotes
sourceStringNoData source identifier
account_numberStringNoSource-provided account identifier
feed_codeStringNoSource-provided feed identifier
abs_settled_unitsStringYes; null if not provided by the sourceOpen units that have completed settlement processing
abs_cost_basisNumberNo; missing data is treated as zeroCalculated by summing of all open lots with fully known cost basis. If there are no lots with fully known cost basis then the value is zero.
abs_cost_basis_ltNumberNo; missing data is treated as zeroSum of the cost basis among open lots with fully known cost basis that were originated over 365 days ago
abs_cost_basis_stNumberNo; missing data is treated as zeroSum of the cost basis among open lots with fully known cost basis that were originated over within the last year
unrealized_gain_lossNumberNoCalculated by summing over all lots (short-term and long-term) with a defined unrealized gain/loss value (price and cost information must be available)
unrealized_gain_loss_reportedNumberYes; null if not provided by the sourceSource-reported unrealized gain/loss as of the reported dateNo sources currently report this
unrealized_gain_loss_ltNumberNoCalculated by summing over all long-term lots (short-term and long-term) with fully known cost basis information
unrealized_gain_loss_lt_reportedNumberYes; null if not provided by the sourceSource-reported unrealized long-term gain/loss as of the reported dateNo sources currently report this
unrealized_gain_loss_stNumberNoCalculated by summing over all short-term lots (short-term and long-term) with fully known cost basis information
unrealized_gain_loss_st_reportedNumberYes; null if not provided by the sourceSource-reported unrealized short-term gain/loss as of the reported dateNo sources currently report this
source_security_symbolStringYes; empty string if not provided by the sourceSource-provided security identifier
source_security_cusipStringYes; empty string if not provided by the sourceSource-provided security identifier
abs_value_ltNumberNoPortion of the market value that has been held for more than 1 year. Calculated by summing lots with fully known cost basis, so abs_value_st + abs_value_lt <= abs_value
abs_value_stNumberNoPortion of the market value that has been held for less than 1 year. Calculated by summing lots with fully known cost basis, so abs_value_st + abs_value_lt <= abs_value
open_lotsIntegerNoTotal number of open lots reported by the custodain for this security on the reported date.
open_lots_with_cost_basisIntegerNoTotal number of open lots with fully known cost basis reported by the custodain for this security on the reported date.
open_lots_stIntegerNoTotal number of short-term open lots reported by the custodain for this security on the reported date.
open_lots_with_cost_basis_stIntegerNoTotal number of short-term open lots with fully known cost basis reported by the custodain for this security on the reported date.
open_lots_ltIntegerNoTotal number of long-term open lots reported by the custodain for this security on the reported date.
open_lots_with_cost_basis_ltIntegerNoTotal number of long-term open lots with fully known cost basis reported by the custodain for this security on the reported date.
open_unitsNumberNoTotal number of open units reported by the custodain for this security on the reported date.
open_units_with_cost_basisNumberNoTotal number of units lots with fully known cost basis reported by the custodain for this security on the reported date.
open_units_stNumberNoTotal number of short-term open units reported by the custodain for this security on the reported date.
open_units_with_cost_basis_stNumberNoTotal number of short-term open units with fully known cost basis reported by the custodain for this security on the reported date.
open_units_ltNumberNoTotal number of long-term open units reported by the custodain for this security on the reported date.
open_units_with_cost_basis_ltNumberNoTotal number of long-term open units with fully known cost basis reported by the custodain for this security on the reported date.

Realized Gain / Loss

data/luca/gain-loss -> data/luca/realized-gain-loss

Old Field Mappings

Luca FieldChangedSource FieldNotes
account_idYes; nullableaccount_id (nullable)nullable in source data
security_idYes; nullablesecurity_id (nullable)nullable in source data
directiondirection
abs_closed_unitsYes; nullableabs_closed_units (nullable)Currently reported by EGB, NFS, SWB
Nullable
close_valueYes; name, nullableabs_closed_value (nullable)now an absolute value (currently reported by EGB, NFS, SWB
Nullable
close_dateclose_dateCurrently reported by EGB, NFS, SWB,
abs_open_unitsYes; nullableabs_opened_units (nullable)
open_valueYes; nullable, absolute valueabs_opened_value (nullable)
open_dateYes; nullableopen_date (nullable)Currently reported by APX, EGB, NFS, SWB
Nullable
amountamountNecessary from every custodian
is_cancelYes; removedN/A
partition_idYes; removedN/A

New Fields

Source FieldTypeNullableDescription
sourceStringNoData source identifier
account_numberStringNoSource-provided account identifier
feed_codeStringNoSource-provided feed identifier
abs_opened_unitsNumberYesRemaining open units in winding down the lot (currently reported by NFS, SWB)
abs_opened_valueNumberYesValue of the remaining open units at the time of the sale / buy-back (currently reported by APX, EGB, NFS, SWB)
amount_ltNumberYes. Null if cost basis is missing or unreportedPortion of the realized gain/loss that was held for more than 1 year
amount_stNumberYes. Null if cost basis is missing or unreportedPortion of the realized gain/loss that was held for less than 1 year
lot_identifierStringEmpty if not providedLot identifier provided by source, if available
lot_selection_methodStringEmpty if not providedLot matching selection method, such as FIFO, LIFO, etc. if provided by the source
reported_dateString date, YYYY-MM-DDNoDate the lot is reported to Bridge
settle_dateString date, YYYY-MM-DDEmpty if not providedDate the proceeds have completed settlement processing (currently reported by NFS, SWB)
source_security_cusipStringEmpty if not providedSource-provided security identifier
source_security_symbolStringEmpty if not providedSource-provided security identifier

Account Balances

data/luca/account-balances -> data/source/account-balances

Old Field Mappings

Luca FieldChangedSource FieldNotes
as_of_dateYes; namereported_date
prior_as_of_dateYes; removedN/ACan be computed through time series of balances
account_idYes; nullableaccount_id (nullable)
household_idYes; removedN/A
abs_cash_currency_contributionYes; nameabs_cash_contribution
abs_cash_currency_withdrawalYes; nameabs_cash_withdrawal
abs_security_contributionabs_security_contribution
abs_security_withdrawalabs_security_withdrawal
abs_incomeabs_income
abs_expenseabs_expense
abs_non_performance_incomeYes; nameabs_non_performing_income
abs_non_performance_expenseYes; nameabs_non_performing_expense
cash_currency_impactYes; removedN/ACan be computed using all cash impacting transactions
cash_valueYes; two possible fieldscash_value
cash_value_reported (nullable)
cash_value contains the total cash holdings in the account as of the reported date
cash_value_reported contains the source-reported cash holdings in the account as of the reported date (currently reported by APX, NFS, PER, SWB)
security_holdings_valueYes; two possible fieldssecurities_value
securities_value_reported (nullable)
securities_value contains the total securities holdings in the account as of the reported date
securities_value_reported contains the source-reported securities holdings in the account as of the reported date (currently reported by NSF, PER, SWB)
unrealized_gain_lossYes; nametotal_unrealized_gain_loss
total_unrealized_gain_loss_reported(nullable)
total_unrealized_gain_loss contains the unrealized gain loss calculated by summing over all lots
total_unrealized_gain_loss_reported contains the total source-reported total unrealized gain/loss from positions in the account as of the reported date
realized_gain_lossYes; removedN/ACan be aggregated from realized gain loss endpoint (see above)
total_feeYes; nametotal_abs_fees
beginning_period_valueYes; removedN/ACan be computed through time series of balances
percentage_period_net_returnYes; removedN/A
percentage_period_gross_returnYes; removedN/A
abs_outside_incomeYes; removedN/A
manual_holdings_appreciationYes; removedN/A
abs_initialization_contributionYes; removedN/A
abs_initialization_withdrawalYes; removedN/A
partition_idYes; removedN/A

New Fields

Source FieldTypeNullableDescription
account_numberStringNoSource-provided account identifier
feed_codeStringNoSource-provided feed identifier
sourceStringNoData source identifier
net_incomeNumberNoTotal net income from held securities on the reported date
net_non_performing_incomeNumberNoTotal net income exempt from performance impact on the reported date
abs_management_feeNumberNoManagement fees applied to the account on the reported date
total_net_contributionNumberNoTotal net contributions made to the account on the reported date
total_abs_contributionNumberNoTotal transfer-in of assets (cash and securities) on the reported date
total_valueNumberNoTotal value of assets (cash and securities) on the reported date
total_value_reportedNumberYes; null if not reportedSource-reported value of assets (cash and securities) on the reported date (currently reported by NFS, PER, SWB)
total_abs_withdrawalNumberNoTotal transfer-out of assets (cash and securities) on the reported date
unrealized_gain_loss_lt_reportedNumberYes; null if not reportedTotal long-term unrealized gain/loss, among all open lots with fully known cost basis.
unrealized_gain_loss_st_reportedNumberYes; null if not reportedTota short-term unrealized gain/loss, among all open lots with fully known cost basis
unrealized_gain_loss_ltNumberNoUnrealized long-term gain/loss calculated from all open lots with fully known cost basis. Lots without fully known cost basis are treated as zero
unrealized_gain_loss_stNumberNoUnrealized short-term gain/loss calculated from all open lots with fully known cost basis. Lots without fully known cost basis are treated as zero
cost_basis_fully_knownNumberNoTrue only if ALL cost basis is fully known across all positions in the account. This will naturally be the case if the account has no security transfers and all transactions happen within the account. However cost basis information may be missing for accounts with security transfers.

Transactions

/data/luca/buy-sell , /data/luca/income-expense , /data/luca/transfers/data/source/transactions

Fields Mappings

The table below contains the fields available within the Source Transactions API and how those fields correspond to the Ledgerized Luca transaction APIs. Apart of that several new fields have been added into the Source Transactions API response.

Luca Buy Sell FieldLuca Transfers FieldLuca Income Expense FieldSource FieldNotes
idididid
account_idaccount_idaccount_idaccount_id
security_idsecurity_idsecurity_idsecurity_id
reported_datereported_datereported_datereported_date
custodiancustodiancustodiansourceField name change
source_transaction_codesource_transaction_codesource_transaction_codesource_transaction_code
typetypetypeclassificationField name change. BridgeFT’s transaction type. For transaction code reported by custodian refer to source_transaction_code field
transaction_datetransaction_datetransaction_datetransaction_date
abs_unitsabs_units-units
abs_amount-abs_amountamount
transaction_feetransaction_feetransaction_feefees
is_cancelis_cancelis_cancelis_cancel
descriptiondescriptiondescriptiondescription
meta_datameta_datameta_data-Field is removed
created_at_utccreated_at_utccreated_at_utccreated_at_utc
updated_at_utcupdated_at_utcupdated_at_utc-Field is removed
-unit_price-unit_price_reported
-cost_basis_unit_price--Field is removed
-recon_id--Field is removed
-origination_date--Field is removed
-cost_basis_known--Field is removed
-replaced_transfer_id--Field is removed
--is_performance_impact-Field is removed
--is_positive_cash_impact-Field is removed
---account_numberNew field added. The account number of the Account associated with this Transaction
---feed_codeNew field added. Represents Advisor's Code
---source_security_symbolNew field added. The symbol of the corresponding security as reported by the source if applicable
---source_security_cusipNew field added. The cusip of the corresponding security as reported by the source if applicable
---categoryNew field added. Represents BridgeFT’s transactions categorization
---settle_dateNew field added. The date that the transaction settled if reported

Filters

Lots

Old FilterNew FilterNotes
idid
created_at_utccreated_at_utc
account_idaccount_id
security_idsecurity_id
as_of_datereported_date
open_dateoriginal_open_date
origination_dateN/A
directiondirection
abs_open_unitsabs_current_units
cost_basis_unit_priceN/ACan use abs_cost_basis instead
cost_basis_knowncost_basis_fully_known
cost_basis_fully_known_reported
appraised_unit_priceabs_current_value_unit_price
abs_current_value_unit_price_reported
realized_gain_lossrealized_gain_loss_reported
abs_closed_unitsN/ACan use abs_original_open_units instead

Filters are also available for all new fields

Positions

Old FilterNew FilterNotes
account_idaccount_id
household_idN/A
idid
created_at_utccreated_at_utc
updated_at_utcN/A
security_idsecurity_id
as_of_datereported_date
directiondirection
first_open_datefirst_open_date
latest_open_dateN/A
first_origination_dateN/A
abs_unitsabs_units
appraised_unit_priceabs_value_unit_price
abs_value_unit_price_reported
abs_beginning_valueabs_value
abs_value_reported
cost_basis_knowncost_basis_fully_known
realized_gain_lossN/A

Filters are also available for all new fields

Realized Gain / Loss

Old FilterNew FilterNotes
idid
created_at_utccreated_at_utc
updated_at_utcN/A
account_idaccount_id
security_idsecurity_id
directiondirection
abs_open_unitsabs_opened_units
open_valueabs_opened_value
open_dateopen_date
abs_closed_unitsabs_closed_units
close_valueabs_closed_value
close_dateclose_date
amountamount
is_cancelN/A

Filters are also available for all new fields

Account Balances

Old FilterNew FilterNotes
account_idaccount_id
household_idN/A
idid
created_at_utccreated_at_utc
updated_at_utcN/A
security_idsecurity_id
as_of_datereported_date
prior_as_of_dateN/A
abs_cash_currency_contributionabs_cash_contribution
abs_cash_currency_withdrawalabs_cash_withdrawal
abs_security_contributionabs_security_contribution
abs_security_withdrawalabs_security_withdrawal
abs_incomeabs_income
abs_expenseabs_expense
abs_non_performance_incomeabs_non_performing_income
abs_non_performance_expenseabs_non_performing_expense
abs_outside_incomeN/A
abs_outside_expenseN/A
cash_currency_impactN/A
cash_valuecash_value
cash_value_reported
security_holdings_valuesecurities_value
securities_value_reported
unrealized_gain_lossunrealized_gain_loss
unrealized_gain_loss_reported
realized_gain_lossN/A
manual_holding_appreciationN/A
total_feetotal_abs_fees
beginning_period_valueN/A
percentage_period_net_returnN/A
percentage_period_gross_returnN/A

Transactions

Luca Buy Sell FilterLuca Transfers FilterLuca Income Expense FilterSource FilterNotes
idididid
account_idaccount_idaccount_idaccount_id
security_idsecurity_idsecurity_idsecurity_id
reported_datereported_datereported_datereported_date
custodiancustodiancustodiansourceField name change
typetypetypeclassificationField name change
transaction_datetransaction_datetransaction_datetransaction_date
abs_unitsabs_units--Not supported in Source Transactions
abs_amount-abs_amount-Not supported in Source Transactions
transaction_feetransaction_feetransaction_fee-Not supported in Source Transactions
is_cancelis_cancelis_cancel-Not supported in Source Transactions
descriptiondescriptiondescription-Not supported in Source Transactions
-unit_price--Not supported in Source Transactions
-cost_basis_unit_price--Not supported in Source Transactions
-recon_id--Not supported in Source Transactions
-origination_date--Not supported in Source Transactions
-cost_basis_known--Not supported in Source Transactions
-replaced_transfer_id--Not supported in Source Transactions
--is_performance_impact-Not supported in Source Transactions
--is_positive_cash_impact-Not supported in Source Transactions
---account_numberNew filter added
---feed_codeNew filter added
source_transaction_codeNew filter added
---source_security_symbolNew filter added
---source_security_cusipNew filter added
---categoryNew filter added

Step by Step Guide

Lots

  1. Replace urls: /data/luca/positions -> /data/source/lots
  2. Update payload response handling by changing fields:
    • as_of_date -> reported_date
    • lot_id -> lot_identifier
    • abs_open_units -> abs_current_units
    • open_date -> original_open_date
    • appraised_unit_price -> abs_current_value_unit_price
    • realized_gain_loss -> realized_gain_loss_reported
    • cost_basis_known -> cost_basis_fully_known OR cost_basis_fully_known_reported (available for SWB, EGB)
  3. Update payload response handling by removing fields:
    • security_legder_id
    • origination_date
    • partition_id
  4. Update filters by changing fields:
    • as_of_date -> reported_date
    • open_date -> original_open_date
    • abs_open_units -> abs_current_units
    • cost_basis_known -> cost_basis_fully_known OR cost_basis_fully_known_reported (available for SWB, EGB)
    • appraised_unit_price -> abs_current_value_unit_price
    • realized_gain_loss -> realized_gain_loss_reported
  5. Update filters by removing fields:
    • origination_date
    • cost_basis_unit_price
    • abs_closed_units

Positions

  1. Replace urls: /data/luca/account-holdings -> data/source/positions
  2. Update payload response handling by changing fields:
    • as_of_date -> reported_date
    • appraised_unit_price -> abs_value_unit_price OR abs_value_unit_price_reported (available for APX, DST, EGB, IBK, NFS, SWB)
    • abs_beginning_value -> abs_value
    • cost_basis_known -> cost_basis_fully_known
  3. Update payload response handling by removing fields:
    • household_id
    • realized_gain_loss
    • latest_open_date
    • first_origination_date
    • partition_id
  4. Update filters by changing fields:
    • as_of_date -> reported_date
    • appraised_unit_price -> abs_value_unit_price OR abs_value_unit_price_reported (available for APX, DST, EGB, IBK, NFS, SWB)
    • abs_open_units -> abs_current_units
    • abs_beginning_value -> abs_value
    • cost_basis_known -> cost_basis_fully_known
  5. Update filters by removing fields:
    • household_id
    • updated_at_utc
    • realized_gain_loss
    • latest_open_date
    • first_origination_date

Realized Gain / Loss

  1. Replace urls: /data/luca/gain-loss -> data/source/realized-gain-losses
  2. Update payload response handling by changing fields:
    • close_value -> abs_closed_value
  3. Update payload response handling by removing fields:
    • abs_open_units
    • open_value
    • is_cancel
    • partition_id
  4. Update filters by changing fields:
    • close_value -> abs_closed_value
  5. Update filters by removing fields:
    • updated_at_utc
    • abs_open_units
    • open_value
    • is_cancel

Account Balances

  1. Replace urls: /data/luca/account-balances -> data/source/account-balances
  2. Update payload response handling by changing fields:
    • as_of_date -> reported_date
    • abs_cash_currency_contribution -> abs_cash_contribution
    • abs_cash_currency_withdrawal -> abs_cash_withdrawal
    • abs_non_performance_income -> abs_non_performing_income
    • abs_non_performance_expense -> abs_non_performing_expense
    • cash_value -> cash_value OR cash_value_reported (currently reported by APX, NFS, PER, SWB)
    • securities_value -> securities_value OR securities_value_reported (currently reported by NFS, PER, SWB)
    • unrealized_gain_loss -> total_unrealized_gain_loss OR total_unrealized_gain_loss_reported
    • total_fee -> total_abs_fees
  3. Update payload response handling by removing fields:
    • prior_as_of_date
    • household_id
    • cash_currency_impact
    • realized_gain_loss
    • beginning_period_value
    • percentage_period_net_return
    • percentage_period_gross_return
    • abs_outside_income
    • manual_holdings_appreciation
    • abs_initialization_contribution
    • abs_initialization_withdrawal
    • partition_id
  4. Update filters by changing fields:
    • as_of_date -> reported_date
    • abs_cash_currency_contribution -> abs_cash_contribution
    • abs_cash_currency_withdrawal -> abs_cash_withdrawal
    • abs_non_performance_income -> abs_non_performing_income
    • abs_non_performance_expense -> abs_non_performing_expense
    • cash_value -> cash_value OR cash_value_reported (currently reported by APX, NFS, PER, SWB)
    • securities_value -> securities_value OR securities_value_reported (currently reported by NFS, PER, SWB)
    • unrealized_gain_loss -> total_unrealized_gain_loss OR total_unrealized_gain_loss_reported
    • total_fee -> total_abs_fees
  5. Update filters by removing fields:
    • household_id
    • updated_at_utc
    • prior_as_of_date
    • abs_outside_income
    • abs_outside_expense
    • cash_currency_impact
    • realized_gain_loss
    • manual_holdings_appreciation
    • beginning_period_value
    • percentage_period_net_return
    • percentage_period_gross_return

Transactions

  1. Replace urls:
    /data/luca/buy-sell/data/source/transactions
    /data/luca/income-expense/data/source/transactions
    /data/luca/transfers/data/source/transactions
  2. Update payload response handling by changing or removing fields according to the Fields Mapping description.
  3. Update filters by changing or removing fields according to the Filters Mapping description.

Deduplication

Our data sources and custodians provide data to us according to feed code (e.g. advisor code) rather than by account. This means an account's data can be represented in our system multiple times, once per feed code. In order to provide an accurate account level view of the data, you will need to deduplicate records for accounts with more than one feed code. For example, an account only has one balance record for a given reported date, but the source/account-balances endpoint may return multiple balance records for the account if it is associated with more than one feed code.