Expression Editor Functions - Quotation Period Category

The quotation period (QP) functions have two time arguments: M1 and M2:

  • M1 fixes the day/week/month/quarter.
    • For functions with "after" in the description:
      • Minus one (-1) is the previous day/week/month/quarter
      • Zero (0) is the current day/week/month/quarter
      • One (1) is the next day/week/month/quarter
    • For functions with "prior to" in the description:
      • Minus one (-1) is the next day/week/month/quarter
      • Zero (0) is the current day/week/month/quarter
      • One (1) is the previous day/week/month/quarter
  • M2 determines how many days/weeks/months/quarters are added to the fixed day/week/month/quarter:
    • Minus one (-1) adds the previous day/week/month/quarter
    • Zero (0) does not add any time the current day/week/month/quarter
    • One (1) adds the next day/week/month/quarter

Examples: The following examples are based on MOS, where the month of shipment is September:

  • MOS(0,0) returns a QP of only September.
  • MOS(-1,0) returns a QP of only August.
  • MOS(2,0) returns a QP of only November.
  • MOS(0,-3) returns a QP of June–September.
  • MOS(0,1) returns a QP of September–October.
  • MOS(1,2) returns a QP of October–December.
  • MOS(-3,-1) returns a QP of May–June.

Note: For the asterisked quotation period functions, if the start or end dates fall on non-working days, the non-working days are excluded from the quotation period displayed in the invoice item calculation log.

Function

Description of Returned Value

QP based on quota start date

Note: The 'contractual month of shipment' is determined from the start date of the quota. If the despatch order (DO) is not in a quota, the planned despatch date is used.

CMS

M1 months after the contractual month of shipment + M2 months.

Format: CMS(M1, M2)

FCDCMS

First M2 days of the M1(th) month after the contractual month of shipment.

Format: FCDCMS(M1, M2)

FCWCMS

First complete M2 weeks of M1 months after the contractual month of shipment.

Format: FCWCMS(M1, M2)

FWCMS

First M2 calendar weeks of the M1(th) month after the contractual month of shipment.

Format: FWCMS(M1, M2)

LCDCMS

Last M2 days of the M1(th) month after the contractual month of shipment.

Format: LCDCMS(M1, M2)

LCWCMS

Last complete M2 weeks of the M1 month(s) after the contractual month of shipment.

Format: LCWCMS(M1, M2)

LWCMS

Last M2 calendar weeks of the M1(th) month after the contractual month of shipment.

Format: LWCMS(M1, M2)

M

M1 months after the contractual month of shipment + M2 months.

Format: M(M1, M2)

MOSS

M1 months after the month of scheduled shipment + M2 months.

Format: MOSS(M1, M2)

QP based on shipment month

Note: The 'month of shipment' is determined from the first available date out of the following dates: the bill of lading (BL) date; ATD at origin; ETD at origin; or planned despatch date of the DO. The Estimated Bill Of Lading Date field of the DO is not used.

AMS

M1 months after the month of shipment + M2 months.

Format: AMS(M1, M2)

FCDMOS

First M2 calendar days of M1 month(s) after the actual month of shipment.

Format: FCDMOS(M1, M2)

LCDMOS

Last M2 calendar days of M1 month(s) after the actual month of shipment.

Format: LCDMOS(M1, M2)

LSTBDPMS

Last M1 business days of the month prior to the month of shipment.

Format: LSTBDPMS(M1, M2)

Examples: If the month of shipment is February 2020:

  • LSTBDPMS(1,0) returns a QP of 31 January 2020.
  • LSTBDPMS(3,0) returns a QP of 29–31 January 2020.
  • LSTBDPMS(-1,0) returns a QP of 3 February 2020 (because 1 Feb and 2 Feb are weekend days).

Note: M2 is ignored. LSTBDPMS(0,0) should not be used.

LSTCDPMS

Last M1 calendar days of the month prior to the month of shipment.

Format: LSTCDPMS(M1, M2)

Examples: If the month of shipment is February 2020:

  • LSTBDPMS(1,0) returns a QP of 31 January 2020.
  • LSTBDPMS(3,0) returns a QP of 29–31 January 2020.
  • LSTBDPMS(-1,0) returns a QP of 1 February 2020.

Note: M2 is ignored. LSTCDPMS(0,0) should not be used.

MAMOS

M1 months after the month of shipment + M2 months.

Format: MAMOS(M1, M2)

MOS

M1 months after the month of shipment + M2 months.

Format: MOS(M1, M2)

QP based on arrival

Note: The 'arrival' or 'delivery' is determined from the first available date out of the following dates: ATA at destination; actual BL date; ETA at destination; an estimated arrival date based on locations specified in the DO and calculated from the travel time of a matching route; or planned despatch date of the DO.

MA

M1 months after the month of arrival + M2 months.

Format: MA(M1, M2)

MAMA

M1 months after the month of arrival + M2 months.

Format: MAMA(M1, M2)

MonthOfDelivery

M1 months after the month of delivery + M2 months.

Format: MonthOfDelivery(M1, M2)

WADA*

M1 weeks after the week of arrival + M2 weeks.

Format: WADA(M1, M2)

QP based on scheduled arrival

Note: The 'month of scheduled arrival' is determined from the first available date out of the following dates: ATA at destination; actual BL date; ETA at destination; or planned despatch date of the DO.

MAMSA

M1 months after the month of scheduled arrival + M2 months.

Format: MAMASA(M1, M2)

QP based on bill of lading date

Note: The 'bill of lading date' is determined from the first available date out of the following dates: actual BL date; ATD at origin; ETD at origin; or planned despatch date of the DO. The Estimated Bill Of Lading Date field of the DO is not used.

BL*

M1 days after the bill of lading date + M2 days.

Format: BL(M1, M2)

BLB*

M1 business days after the bill of lading date + M2 business days.

Format: BLB(M1, M2)

QTBL

M1 quarters after the bill of lading date + M2 quarters.

Format: QTBL(M1, M2)

WPBL*

M1 weeks prior to the bill of lading date + M2 weeks.

Format: WPBL(M1, M2)

WPS*

M1 weeks prior to the shipment date + M2 weeks.

Format: WPS(M1, M2)

QP based on invoice date

Note: The 'invoice date' is determined from the actual invoice date or the estimated invoice date as displayed in the DO snapshot.

BDPID*

M1 business days prior to the invoice date + M2 business days. This QP uses the calendar associated with the price series to determine working and non-working days.

Format: BDPID(M1, M2)

Examples: If the invoice date is 24 November 2015 September:

  • Using a price series where Monday to Friday are working days, BDPID(5,4) returns a QP of 17–23 November.
  • Using a price series where Monday to Friday are working days and 18 November is a public holiday, BDPID(5,4) returns a QP of 16–23 November.
  • Using a price series with no calendar, BDPID(5,4) returns a QP of 19–23 November.

DPID*

M1 days prior to the invoice date. No M2 can be specified for this function because the QP extends up until the invoice date. The invoice date itself is not included in the QP.

Format: DPID(M1)

Examples: If the invoice date is 9 September:

  • DPID(1) returns a QP of 8 September.
  • DPID(3) returns a QP of 6–8 September.

Note: DPID(0) should not be used.

LKQ

M1 quotations prior to the invoice date. No M2 can be specified for this function because the QP extends up to and including the invoice date.

Format: LKQ(M1)

Examples: If the invoice date is 31 January 2020, and there are prices for 20–24 and 27–31 January:

  • LKQ(1) returns a QP of 31 January.
  • LKQ(6) returns a QP of 24–31 January.

Note: LKQ(0) should not be used. This formula is not available in the Expression Editor; however, can be used in quotation pricing lines.

WPID*

M1 weeks prior to the invoice date + M2 weeks.

Format: WPID(M1, M2)

WPPI*

M1 weeks prior to the provisional invoice date + M2 weeks.

Format: MPPI(M1, M2)

QP based on loading date

Note: The 'loading date' is determined from the first available date out of the following dates: start of loading, ATA at the loading location; BL date; or planned despatch date of the DO.

WPELD*

M1 weeks prior to the actual loading date + M2 weeks.

Format: WPELD(M1, M2)

QP based on unloading date

Note: This function does not work as expected.

QPTCOD

M1 quarters prior to the unloading date + M2 quarters.

Format: QPTCOD(M1, M2)

QP based on laycan date

Note: The reference date is determined from the first available date out of the following dates: the latest laycan date of the specific type and location; actual end loading; planned end loading; actual start loading, planned start loading; ATA; ETA; BL date; or planned despatch date of the DO.

QTLAYCANEND

M1 quarters after the laycan end date + M2 quarters.

Format: QTLAYCANEND(M1, M2)

QTLAYCANENDDESTINATION

M1 quarters after the laycan end date at the destination + M2 quarters.

Format: QTLAYCANENDDESTINATION(M1, M2)

QTLAYCANSTART

M1 quarters after the laycan start date + M2 quarters.

Format: QTLAYCANSTART(M1, M2)

QTLAYCANSTARTDESTINATION

M1 quarters after the laycan start date at the destination + M2 quarters.

Format: QTLAYCANSTARTDESTINATION(M1, M2)

QP based on sample date

Note: The 'sample date' is determined from the latest sample date for the analyte or material. If no sample date is not available, the expression evaluation displays an error.

MonthAfterSampleDate

M1 months after the latest sample date + M2 months.

Format: MonthAfterSampleDate(M1, M2)

SampleDate*

M1 days after the latest sample date + M2 days.

Format: SampleDate(M1, M2)

QP based on assay agreement date

Note: The 'assay agreement date' is determined from the first available date out of the following dates: final assay agreement date; estimated assay exchange completion; or ETA at the unloading location.

DFAAD

M1 days after the final assay agreement date + M2 days.

Format: DFAAD(M1, M2)

QP based on hedging

Note: These functions are not available in the Expression Editor; however, can be used in quotation pricing lines.

HEDGELKQ

M1 quotations prior to the options contract expiry date. No M2 can be specified for this function because the QP extends up to and including the options contract expiry date.

Format: HEDGELKQ(M1)

If the options contract expiry date is 31 January 2020, and there are prices for 20–24 and 27–31 January:

  • HEDGELKQ(1) returns a QP of 31 January.
  • HEDGELKQ(6) returns a QP of 24–31 January.

Note: HEDGELKQ(0) should not be used.

HEDGEM

Exercise price of allocated quantity. Any unallocated quantity uses MOS(M1,M2).

Format: HEDGEM(M1, M2)

HEDGEWA

Exercise price of allocated quantity. Any unallocated quantity uses the weighted average of the exercise price.

Format: HEDGEWA()

MOHE

M1 months after the month of hedge execution + M2 months.

Format: MOHE(M1, M2)