Help center › Data Feed Reference › Holdings

Tax lots · lot 1.1

Tax lots. Open tax lots per account and security with acquired date and unit cost, so tax-aware rebalancing uses your real lots. One lot per account, security and date (several purchases on one day are one lot). Key: account + symbol + acquired_on.

Namespace
urn:vestoris:feed:lot:1.1
Schema
lot-1.1.xsd
Also accepted
urn:vestoris:feed:lot:1.0 (lot-1.0.xsd)
Key (upsert)
account + symbol + acquiredOn: a record with an existing key updates it; a new key inserts.
Start-of-day step
Positions, lots and cash
File name
F00012_LOT_20261023_001.xml
Modes
delta (action="delete" removes a record); full (records not listed are inactivated, up to the feed's safety threshold: H201)

The <feed> root #

AttributeUseTypeMeaning
businessDaterequiredxs:dateThe business date the data is for (YYYY-MM-DD).
firmrequiredxs:stringYour firm code, shown on Data › Feeds (e.g. F00012).
sourceoptionalxs:stringWho produced the file (vendor or system name).
generatedrequiredxs:dateTimeWhen the file was produced (UTC).
recordCountrequiredxs:nonNegativeIntegerThe number of record elements. A file whose count does not match is refused (F004): it was probably cut short.
modeoptional (default delta)xs:stringdelta: only the records in the file change, and action="delete" removes one. full: the file is complete; records it does not list are inactivated, up to the feed's safety threshold.

The <record> elements #

upsert (insert or update by key) or delete (removes the record; a security or account is inactivated, never deleted). Elements may appear in any order; an element that is left out keeps its current value.

ElementRequiredTypeMeaningCodes
account key #yesxs:string
pattern [A-Z0-9][A-Z0-9_.\-]{0,19}
The account code. Part of the key. A code: letters, digits, "_", "." or "-", up to 20. Part of the key. Example: GRW-AR101 R111 R109
symbol key #yesxs:string
pattern [A-Z][A-Z0-9.\-]{0,11}
The security. Part of the key. A ticker symbol: letters, digits, "." or "-", up to 12. Part of the key. Example: AAPLR101 R111 R109
acquiredOn key #yesxs:date The acquired (trade) date. Part of the key. An ISO date, YYYY-MM-DD. Part of the key. Example: 2024-03-14R101 R102
quantity #yesxs:decimal
25 digits; 10 decimals
Open shares in the lot. A decimal number written as text, e.g. 1234.5. Example: 1500R101 R103 R111
unitCost #yesxs:decimal
≥ 0; 25 digits; 10 decimals
Cost per share. A decimal number written as text, e.g. 1234.5 (min 0). Example: 171.25R101 R103 R111

Validation #

  1. No DOCTYPE or entity declaration (F002); well-formed UTF-8 (F001).
  2. The namespace and version are published (F007), and the file matches the XSD (F003).
  3. Header: firm is your firm code (F006), businessDate a business day (F005), recordCount the number of records (F004).
  4. Each record: the field checks in the table above, references to records that exist (R109), no key twice in a file (R110). A rejected record does not stop the rest of the file.

Codes this format can return: F001 F002 F003 F004 F005 F006 F007 F008 H201 R101 R102 R103 R109 R110 R111

Sample #

An annotated file: the comment lines explain the header; drop them or keep them, comments are allowed.

<?xml version="1.0" encoding="UTF-8"?>
<!-- businessDate: the date the data is for. firm: your firm code. recordCount: how many <record> elements follow. -->
<feed xmlns="urn:vestoris:feed:lot:1.1" businessDate="2026-10-23" firm="F00012" source="ExampleVendor" generated="2026-10-23T22:05:00Z" recordCount="2" mode="delta">
  <record action="upsert">
    <account>GRW-A</account>
    <symbol>AAPL</symbol>
    <acquiredOn>2024-03-14</acquiredOn>
    <quantity>1500</quantity>
    <unitCost>171.25</unitCost>
  </record>
  <record action="upsert">
    <account>GRW-A</account>
    <symbol>AAPL</symbol>
    <acquiredOn>2025-09-02</acquiredOn>
    <quantity>800</quantity>
    <unitCost>229.10</unitCost>
  </record>
</feed>

Download the sampleDownload the XSDValidate a file

Version history #

  • 1.0 (2026-10-26): First published version.
  • 1.1 (2026-10-26): Adds the optional <udfs> element (up to ten <udf slot="1..10" name="...">value</udf>) to the reference formats that carry user-defined fields: security, issuer, account, accountgroup, broker, model, benchmark and list. Additive: every valid 1.0 file is still accepted under its 1.0 namespace.