You can model a tender offer from a third party as a corporate action of type TenderEvent in LUSID. See all supported corporate actions.
Note the following:
TenderEventis valid for instruments of typeEquity,SimpleInstrument,Bond,ComplexBondandInflationLinkedBond.The entitlement date is the
exDatespecified when you loadTenderEvent.Amounts are calculated from the total number of instrument units held on the entitlement date, settled and unsettled.
Every
TenderEventrequires anewInstrument, even when the outcome is a pure cash tender with no security movement. You can supply the underlying instrument itself as a placeholder in this case.The transaction dates and settlement dates of automatically-generated output transactions are
paymentDate.
Loading TenderEvent
You must load TenderEvent into a corporate action source registered with one or more portfolios. The event then impacts every registered portfolio with a holding in the underlying instrument. See how to do this.
For more information on fields, see the TenderEvent schema. Where set, the following date validation rules apply: exDate ≤ earlyResponseDeadline ≤ responseDeadlineDate ≤ marketDeadlineDate ≤ paymentDate
You must choose one of the following participation types:
Participation type | Election(s) | Election choices | Further action required? |
|---|---|---|---|
| Exactly one | Set the following on the single election: ✅ Is chosen ✅ Is declared ✅ Is default | |
| One or more elections, of different types, each with a unique key. | The above options must be set but can be in any combination on any election. |
Note there is no silent lapse outcome; a holder who takes no action always receives the chosen settlement rather than forfeiting the offer.
Instructing to choose a different settlement per portfolio
If you load TenderEvent as Voluntary, you can instruct to choose a different settlement. If you do not, you receive the chosen settlement.
To do this, load an event instruction into a portfolio. Note this is not an event, and you do not load it into a corporate action source, which means you can instruct different settlements in different portfolios. See how to do this.
Configuring the economic impact
You must create some or all of the following transaction types to handle automatically-generated output transactions. They are not provided for you.
Transaction type (click for our recommendation) | Implement the transaction type if… | Intended economic impact |
|---|---|---|
| Debits the existing instrument holding at cost. | |
| Re-allocates cost using the election’s | |
Either | Credits cash at the offer price. | |
Either | Credits the new instrument holding. | |
There are fractional units remaining and the loaded event sets:
| Settles a fractional remainder in cash if | |
There are fractional units remaining and the loaded event sets:
| Rounds a fractional remainder up to a full unit and settles the price difference in cash. | |
Underlying instrument is | Pays accrued interest on the tendered face, separate to the principal proceeds. |
You can give a transaction type any economic impact you like. Depending on the election type, our recommendations:
Create or update a cash holding in the chosen currency.
Reports realised gain/loss on a cash-settled leg using the
ProfitAndLoss/Realised/Marketmetric.Reports bond accrued interest as income using the
ProfitAndLoss/Total/Othermetric.Passes cost through to the new position on a security-offer leg, so there is no
ProfitAndLoss/Realised/Marketimpact at the point of exchange.
Reference example
[
{
"instrumentEventId": "TEND-ACMECORP-2026",
"instrumentIdentifiers": {
"Instrument/default/ClientInternal": "ACMECORP-EQ"
},
"description": "Tender offer - Acme Corp (Voluntary, three election types)",
"participationType": "Voluntary",
"instrumentEvent": {
"instrumentEventType": "TenderEvent",
"exDate": "2026-08-01T00:00:00.0000000+00:00",
"paymentDate": "2026-08-15T00:00:00.0000000+00:00",
"newInstrument": {
"instrumentIdentifiers": {
"Instrument/default/ClientInternal": "ACMECORP-NEWCO"
}
},
"securityOfferElections": [
{
"electionKey": "SECU",
"isDefault": false,
"isChosen": false,
"unitsRatio": { "input": 1.0, "output": 1.15 }
}
],
"cashOfferElections": [
{
"electionKey": "CASH",
"isDefault": true,
"isChosen": false,
"cashOfferPrice": 50.00,
"cashOfferCurrency": "USD"
}
],
"cashAndSecurityOfferElections": [
{
"electionKey": "CASE",
"isDefault": false,
"isChosen": false,
"cashOfferPrice": 20.00,
"cashOfferCurrency": "USD",
"unitsRatio": { "input": 1.0, "output": 0.5 }
}
]
}
}
]