Documentation Index

Fetch the complete documentation index at: https://support.lusid.com/llms.txt

Use this file to discover all available pages before exploring further.

Modelling a tender offer (TEND)

Prev Next

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:

  • TenderEvent is valid for instruments of type Equity, SimpleInstrument, Bond, ComplexBond and InflationLinkedBond.

  • The entitlement date is the exDate specified when you load TenderEvent.

  • Amounts are calculated from the total number of instrument units held on the entitlement date, settled and unsettled.

  • Every TenderEvent requires a newInstrument, even when the outcome is a pure cash tender with no security movement. 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 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?

Mandatory

Exactly one SecurityOfferElection, CashOfferElection or CashAndSecurityOfferElection.

Set the following on the single election:

Is chosen

Is declared

Is default

No. The single election always applies automatically.

Voluntary

One or more elections, of different types, each with a unique key.

Set the following on the elected outcome:

Is chosen

Set the following on at most one election:

Is default

✅ Yes. You must instruct to receive an election per portfolio (see below). If not, the offer is declined and the underlying holding is retained unchanged.

Note there is no silent lapse outcome for Mandatory; there is no equivalent LapseElection for Voluntary either; declining is represented by submitting no election instruction at all, not by choosing a specific election.

Instructing to settle per portfolio

If you load TenderEvent as Voluntary, you must instruct to receive a specific election.

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 differently 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…

Economic impact of recommendation

TenderRemoveExisting

SecurityOfferElection is chosen

Debits the existing instrument holding at cost.

TenderAdjustCost

CashAndSecurityOfferElection is chosen

Re-allocates cost using the election’s costFactor to split cost between the cash and security legs.

TenderReceiveCash

Either CashOfferElection or CashAndSecurityOfferElection is chosen

Credits cash at the offer price.

TenderReceiveUnits

Either SecurityOfferElection or CashAndSecurityOfferElection is chosen

Credits the new instrument holding.

TenderCashInLieu

There are fractional units remaining and event you loaded sets:

  • fractionalUnitsCashPrice ≠ null

  • fractionalUnitsCashCurrency ≠ null

Settles a fractional remainder in cash if fractionalUnitsRoundingConvention ≠ BuyUp

TenderBuyUp

There are fractional units remaining and event you loaded sets:

  • fractionalUnitsRoundingConvention = BuyUp

  • fractionalUnitsCashPrice ≠ null

  • fractionalUnitsCashCurrency ≠ null

Rounds a fractional remainder up to a full unit and settles the price difference in cash.

TenderEventCashAccrued

Underlying instrument is Bond, ComplexBond or InflationLinkedBond and either CashOfferElection or CashAndSecurityOfferElection is chosen

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/Market metric.

  • Reports bond accrued interest as income using the ProfitAndLoss/Total/Other metric.

  • Passes cost through to the new position on a security-offer leg, so there is no ProfitAndLoss/Realised/Market impact 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 }
        }
      ]
    }
  }
]