Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Steps:

Table of Contents

...

Input Physical Trades Data

The New Physical Trade function allows users from different departments/teams to access the designated pages to input their data, ensuring a consistent operational workflow and clear delegation of responsibilities for different teams.

...

Alternatively, you may choose to use the old methods to input your data:

1. Manually input physical trades, please access: Input Physical Trades Manually

2. Bulk upload physical trades, please access: Physical Trades 101 - Bulk Upload

6. Input Pricing Data in New Physical Trade (Settlement Tab)

If this step is not required yet, please proceed to the next step and return to complete this step when necessary.

...

To reset the filter, click on the Reset Filter button or right-click in the table and click on Reset Filter.

...

If AUTO P&Q is ticked, the Settlement Qty and Settlement Price will be autofilled according to Contract Actual Qty and Contract Actual Price. Otherwise, you may untick AUTO P&Q before settling your trades and the respective items will not be auto-filled accordingly. AUTO P&Q is ticked by default.

Please note that if AUTO P&Q is ticked, Settlement Qty and Settlement Price cannot be edited.

...

You can now click on an individual cell or highlight multiple cells to view aggregated summary at the bottom of all columns for all quantity and amount columns. If you click elsewhere, the aggregated summary will reset to default - sum up all columns.

...

  • Trade ID:Input is not required, once you save your trade data, the Trade ID will be generated automatically

  • Execution ID: Input is not required, Execution ID is generated automatically

  • Trade Date*:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Product:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Entity of Contract*:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Counterparty*:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Purchase/Sale*:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Trader:Input is not required, it will be auto-filled according to your inputs in Trades tab, can be edited

  • Contract No.:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Trade Mode *:Input is not required, it will be auto-filled according to your inputs in Trades tab

    • Offshore refers to offshore contracts - Cannot input Tax Rate, Exchange Rate and Custom Tax Rate

    • Domestic China - Can input Tax Rate, cannot input Exchange Rate and Custom Tax Rate

    • Delivery China - Can input Tax Rate, cannot input Exchange Rate and Custom Tax Rate

    • Import/Export refers to import/export contracts - Can input Tax Rate, Exchange Rate (If Deal Currency and Product Currency are different) and Custom Tax Rate

    • Basis Trade China - Can input Tax Rate, cannot input Exchange Rate and Custom Tax Rate

    • Entrepot - Can input Tax Rate and Exchange Rate (If Deal Currency and Product Currency are different), cannot input Custom Tax Rate

    • Offshore-Cross Ccy - Can input Tax Rate and Exchange Rate (If Deal Currency and Product Currency are different), cannot input Custom Tax Rate

    • EFP - Can input Tax Rate, cannot input Exchange Rate and Custom Tax Rate

    • Long Term - Can input Tax Rate, cannot input Exchange Rate and Custom Tax Rate

...

  • Deal ID: Input is not required, once you save your Deal Number, the Deal ID will be generated automatically

  • Deal No.: Deal number of the trade. Please note that if a deal number is an existing deal number, the MTM pricing will follow that of the deal number and so it will not be fillable. If the deal number input is new, you will be able to input the MTM pricing

    • If select existing Deal No., Deal ID and Deal Currency will automatically appear and are uneditable

    • If select new Deal No., Deal Currency is compulsory field and will be editable. Deal ID will be empty but will be autofilled once data is saved

  • Cat: Category of product

  • Unit*:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Deal Ccy: Deal currency

  • Title Transfer Date: Title transfer date will be auto filled according to the Trade Date of the trade if AUTO TTD at the top right corner of the pageis auto ticked (by default). You may untick AUTO TTD and fill in the title transfer date as necessary. It cannot be earlier than physical trade date and cannot be after today's date

  • Qty*:Quantity, Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Contract Actual Qty:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Provisional Price: Temporary price, will be used to calculate P/L if Estimated Price or Actual Price is not available yet. The system will follow this order of priority to calculate P/L if the price is available: Actual Price > Estimated Price > Contract Actual Price > Provisional Price

  • Contract Actual Price :Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Contract Ccy:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • BM Pricing*: Benchmark Pricing - Benchmark PRICING CODE of your product which has been pre-set in the physical pricing setting tab. The pricing index code selected will be used to benchmark the pricing of your trade. Please note that to set the pricing for each trade, you can only choose either Benchmark Pricing or Settlement Price. Settlement Price will be empty if you select Benchmark Pricing. Tax rate for benchmark pricing has already been pre-set in physical pricing setting tab. Please note that you can set the currency for both BM Pricing and Settlement Price in Fixed Pricing Ccy.

  • Premium: Premium of your benchmark pricing index

  • Settlement Price*: Final settlement price of trade. If empty, it will be auto filled according to Contract Actual Price, you may edit as necessary. Please note that to set the pricing for each trade, you can only choose either Benchmark Pricing or Settlement Price. Benchmark Pricing will be empty if you select Settlement Price. This will be used as priority to calculate P/L. The system will follow this order of priority to calculate P/L if the price is available: Settlement Price > Estimated Price > Contract Actual Price> Provisional Price. Please note that you can set the currency for both BM Pricing and Settlement Price in Fixed Pricing Ccy.

  • Fixed Pricing Ccy*: Currency of Settlement Price or BM Pricing

  • Settlement Tax Rate (%): Tax rate for trade with settlement price. Tax rate for benchmark pricing has already been pre-set in physical pricing setting tab so this field cannot be used if benchmark pricing has been used instead of fixed pricing. This will only be applicable if your trade mode is not OFFSHORE

  • MTM Pricing*: MTM PRICING CODE of your product which has been pre-set in the physical pricing setting tab. The pricing index code selected will be used to benchmark the MTM of your trade. Tax rate for MTM pricing has already been pre-set in physical pricing setting tab. You do not need to select this if your deal number is an existing deal number with its own MTM pricing

  • Settlement Qty: Actual settlement quantity of trade. Quantity will follow this order of priority when calculating P/L, PS Ledger and Stock Management: Settlement Qty > Contract Actual Qty > Qty.

  • Estd Price: Estimated price of trade, will be used to calculate P/L if Actual Price is not available yet. The system will follow this order of priority to calculate P/L if the price is available: Settlement Price > Estimated Price > Contract Actual Price> Provisional Price

    • If there is no Contract Actual Price, Estimated Price will be auto filled with Provisional Price. If there is Contract Actual Price, Estimated Price will be empty for user to fill in

  • PRICE BEFORE TAX 不含税单价:

    • if trade mode = offshore:

      • PRICE BEFORE TAX = SETTLEMENT PRICE

      • if no SETTLEMENT PRICE, PRICE BEFORE TAX = ESTED.PRICE

    • if trade mode = import/export or offshore-cross ccy:

      • PRICE BEFORE TAX = SETTLEMENT PRICE * EXCHANGE RATE /(1+SETTLEMENT TAX RATE(%))

      • if no SETTLEMENT PRICE, PRICE BEFORE TAX = ESTED.PRICE *EXCHANGE RATE /(1+SETTLEMENT TAX RATE(%))

    • all other trade modes are just as original:

      • PRICE BEFORE TAX = SETTLEMENT PRICE/(1+SETTLEMENT TAX RATE(%))

      • if no SETTLEMENT PRICE, PRICE BEFORE TAX = ESTED.PRICE /(1+SETTLEMENT TAX RATE(%))

  • Exchange Rate: Exchange rate used for the trade. This will only be applicable if your trade mode is IMPORT/EXPORT

  • Exchange Conversion Date: Date of exchange rate conversion. This is only supported in New Physical Trade page and not Old Physical Trade page. This will only be applicable if your trade mode is IMPORT/EXPORT

  • Custom Tax Amount: Custom tax amount applicable for the trade. This will only be applicable if your trade mode is IMPORT/EXPORT

  • SETTLEMENT AMT 结算金额:

    • SETTLEMENT AMT = SETTLEMENT QTY* SETTLEMENT PRICE/ESTED.PRICE (Same logic as PRICE BEFORE TAX)

  • SETTLEMENT AMT BEFORE TAX 不含税结算金额:

    • SETTLEMENT AMT BEFORE TAX = SETTLEMENT AMT/(1+SETTLEMENT TAX RATE(%))

    • SETTLEMENT AMT BEFORE TAX = PRICE BEFORE TAX * SETTLEMENT QTY

  • Remarks

  • Settlement Remarks

...

All saved data will be transferred to the Updated Settlement table, please refer to Step c.

...

c. Update Pricing Data in New Physical Trade (Updated Settlement Tab)

If this step is not required yet, please proceed to the next step and return to complete this step when necessary.

...

contract actual qty with settlement qty

You can now click on an individual cell or highlight multiple cells to view aggregated summary at the bottom of all columns for all quantity and amount columns. If you click elsewhere, the aggregated summary will reset to default - sum up all columns.

To reallocate deals, you can click on the Setting button under Action column or tick multiple rows and click on Reallocate button. Fill in the Deal No.

  • If Deal No. is new, there will be no Physical Deal ID, you will need to fill in Deal Currency

  • If Deal No. is existing, Physical Deal ID and Deal Currency will auto appear

...

...

Please fill in the settlement data as necessary, only fields in red in the table are compulsory to be filled.

...

  • Trade ID:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Trade Date*:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Execution ID: Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Product 产品:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Brand: Brand of product

  • Specification:Product specification, you may fill in for your reference if necessary, eg Product is Rubber and specification is XX1

  • Entity of Contract 公司名称:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Counterparty 客户名称:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Purchase/Sale 买/卖:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Match No.: Assign the same match number to the corresponding purchase and sale contracts for your reference

  • Contract Delivery Date

  • Trader 交易员:Input is not required, it will be auto-filled according to your inputs in Trades tab, can be edited

  • Contract No.:Input is not required, it will be auto-filled according to your inputs in Trades tab

  • Main Contract No.: Main contract number of individual contract number, you may input as necessary

  • Trade Mode *:

    • Offshore refers to offshore contracts - Cannot input Tax Rate, Exchange Rate and Custom Tax Rate

    • Domestic China - Can input Tax Rate, cannot input Exchange Rate and Custom Tax Rate

    • Delivery China - Can input Tax Rate, cannot input Exchange Rate and Custom Tax Rate

    • Import/Export refers to import/export contracts - Can input Tax Rate, Exchange Rate (If Deal Currency and Product Currency are different) and Custom Tax Rate

    • Basis Trade China - Can input Tax Rate, cannot input Exchange Rate and Custom Tax Rate

    • Entrepot - Can input Tax Rate and Exchange Rate (If Deal Currency and Product Currency are different), cannot input Custom Tax Rate

    • Offshore-Cross Ccy - Can input Tax Rate and Exchange Rate (If Deal Currency and Product Currency are different), cannot input Custom Tax Rate

    • EFP - Can input Tax Rate, cannot input Exchange Rate and Custom Tax Rate

    • Long Term - Can input Tax Rate, cannot input Exchange Rate and Custom Tax Rate

...

  • Deal No.: Deal number of the trade. This is non-editable and will automatically be displayed once it has been input in the Settlement tab (will be hidden by default, user can use the filter column function to display this column)

  • Phy Pricing ID: Input is not required, once you settled your trade, the ID will be generated automatically. (will be hidden by default, user can use the filter column function to display this column)

  • Unit*:Unit of contract/product eg metric ton

  • Deal Ccy: Deal currency

  • Pricing Mode: Input is not required, it will be auto-filled according to your pricing mode inputs in Settlement tab. It is indicate as WMA, FLOAT or SPOT according to the BM Pricing set up in Step b above. If Settlement Price is used instead, it will indicate as FIX.

  • Quantity*:Input is not required, it will be auto-filled according to your inputs in Trades tab. If the Settlement Qty is different from the Qty/Contract Actual Qty, it will be displayed in green in Qty/Contract Actual Qty.

  • Cat: Category, input is not required, it will be auto-filled according to your inputs in Settlement tab, can be edited

  • Title Transfer Date*: Input is not required, it will be auto-filled according to your inputs in Settlement tab, can be edited. It cannot be earlier than physical trade date and cannot be after today's date

  • Contract Actual Qty: Input is not required, it will be auto-filled according to your inputs in Settlement tab. If the Settlement Qty is different from the Qty/Contract Actual Qty, it will be displayed in green in Qty/Contract Actual Qty.

  • Contract Tax Rate (%):The actual tax rate stipulated in the contract. If the Settlement Tax Rate is different from the Contract Tax Rate, it will be displayed in green in Contract Tax Rate. For this to be green, Phy Pricing ID must be filled.

  • Contract Pricing Date

  • Margin (%) : Collateral value % deposited with the counterparty

  • Provisional Price: Temporary price, will be used to calculate P/L if Estimated Price or Actual Price is not available yet. The system will follow this order of priority to calculate P/L if the price is available: Actual Price > Estimated Price > Contract Actual Price > Provisional Price

  • Contract Actual Price : Input is not required, it will be auto-filled according to your inputs in Settlement tab. If the Settlement Price is different from the Contract Actual Price, it will be displayed in green in Contract Actual Price. For this to be green, Phy Pricing ID must be filled.

  • Contract Amount: Contract Actual Price*Contract Actual Quantity

    • if ACTUAL PRICE FLAG = TRUE, CONTRACT AMT = CONTRACT ACTUAL QTY * CONTRACT ACTUAL PRICE

    • If ACTUAL PRICE FLAG = FALSE, CONTRACT AMT = CONTRACT ACTUAL QTY * PROVISIONAL PRICE

  • Contract Ccy: Input is not required, it will be auto-filled according to your inputs in Settlement tab. if the Fixed Pricing Currency is different from the Contract Currency, it will be displayed in green here. For this to be green, Phy Pricing ID must be filled.

  • Contract Premium : The premium stipulated in the contract

  • Actual Price Flag:Once Contract Actual Price has been input, "True" will be displayed here, otherwise, it will display “False” in red.

  • Settlement Tax Rate (%): Tax rate for trade with settlement price. Tax rate for benchmark pricing has already been pre-set in physical pricing setting tab so this field cannot be used if benchmark pricing has been used instead of fixed pricing. This will only be applicable if your trade mode is not OFFSHORE. If the Settlement Tax Rate is different from the Contract Tax Rate, it will be displayed in green in Contract Tax Rate. For this to be green, Phy Pricing ID must be filled.

  • MTM Pricing*: MTM PRICING CODE of your product which has been pre-set in the physical pricing setting tab. The pricing index code selected will be used to benchmark the MTM of your trade. Tax rate for MTM pricing has already been pre-set in physical pricing setting tab. You do not need to select this if your deal number is an existing deal number with its own MTM pricing

  • Settlement Qty : Input is not required, it will be auto-filled according to your inputs in Settlement tab, can be edited. If the Settlement Qty is different from the Qty/Contract Actual Qty, it will be displayed in green in Qty/Contract Actual Qty.

  • Estd Price: Input is not required, it will be auto-filled according to your inputs in Settlement tab, can be edited. It will be used to calculate P/L if Actual Price is not available yet. The system will follow this order of priority to calculate P/L if the price is available: Settlement Price > Estimated Price > Provisional Price.

  • PRICE BEFORE TAX 不含税单价:

    • if trade mode = offshore:

      • PRICE BEFORE TAX = SETTLEMENT PRICE

      • if no SETTLEMENT PRICE, PRICE BEFORE TAX = ESTED.PRICE

    • if trade mode = import/export or offshore-cross ccy:

      • PRICE BEFORE TAX = SETTLEMENT PRICE * EXCHANGE RATE /(1+SETTLEMENT TAX RATE(%))

      • if no SETTLEMENT PRICE, PRICE BEFORE TAX = ESTED.PRICE *EXCHANGE RATE /(1+SETTLEMENT TAX RATE(%))

    • all other trade modes are just as original:

      • PRICE BEFORE TAX = SETTLEMENT PRICE/(1+SETTLEMENT TAX RATE(%))

  • Settlement Price: Input is not required, it will be auto-filled according to your inputs in Settlement tab, can be edited. Actual price transacted, will be used as priority to calculate P/L. The system will follow this order of priority to calculate P/L if the price is available: Settlement Price > Estimated Price > Contract Actual Price> Provisional Price. If the Settlement Price is different from the Contract Actual Price, it will be displayed in green in Contract Actual Price. For this to be green, Phy Pricing ID must be filled.

  • Fixed Pricing Ccy: Input is not required, it will be auto-filled according to your inputs in Settlement tab, can be edited. If the Fixed Pricing Currency is different from the Contract Currency, it will be displayed in green in Contract Currency,. For this to be green, Phy Pricing ID must be filled.

  • Premium: Premium of your benchmark pricing index (WMA, FLOAT or SPOT only). This will not be applicable for pricing mode (FIX). Input is not required, it will be auto-filled according to your inputs in Settlement tab, can be edited.

  • Exchange Rate: Input is not required, it will be auto-filled according to your inputs in Settlement tab, can be edited.This will only be applicable if your trade mode is IMPORT/EXPORT

  • Exchange Conversion Date: Date of exchange rate conversion. This is only supported in New Physical Trade page and not Old Physical Trade page. This will only be applicable if your trade mode is IMPORT/EXPORT. Input is not required, it will be auto-filled according to your inputs in Settlement tab, can be edited.

  • Custom Tax Amount: Custom tax amount applicable for the trade. This will only be applicable if your trade mode is IMPORT/EXPORT. Input is not required, it will be auto-filled according to your inputs in Settlement tab, can be edited.

  • SETTLEMENT AMT 结算金额:

    • SETTLEMENT AMT = SETTLEMENT QTY* SETTLEMENT PRICE/ESTED.PRICE (Same logic as PRICE BEFORE TAX)

  • SETTLEMENT AMT BEFORE TAX 不含税结算金额:

    • SETTLEMENT AMT BEFORE TAX = SETTLEMENT AMT/(1+SETTLEMENT TAX RATE(%))

    • SETTLEMENT AMT BEFORE TAX = PRICE BEFORE TAX * SETTLEMENT QTY

  • Pricing Date:Actual pricing date

  • Pricing Contract eg forward

  • BL No. :Bill of lading or waybill number for import and export of goods.

  • Loadport:Loading port (port of shipment)

  • LP ETD:Estimated time of departure at the port of shipment, date format

  • Disport :Unloading port (port of discharge)

  • DP ETA:Estimated time of arrival (unloading) at the port of discharge, date format

  • Warehouse :Warehouse name, for record purpose only

  • Execution Status: Status of contract eg settled, pending etc

  • Stock Date: The latest stock in/stock out date recorded in Stock Management Function

  • WH Name & Status: Name of warehouse, each warehouse’s quantity balance and Stock Type recorded in Stock Management Function will be automatically reflected here. When your cursor hovers over the column, a pop up will appear with the details

  • Stock Qty: Stock In/Out quantity that has been recorded in Stock Management Function

  • Unstock Qty: Stock In/Out quantity that has not been recorded in Stock Management Function, Un-stocked Quantity = Quantity - Stock Quantity

  • PSL Amt: PS Ledger amount with PSL Type: Payment recorded in PS Ledger will be automatically reflected here

  • PSL Date: PS Ledger date with PSL Type: Payment recorded in PS Ledger will be automatically reflected here

  • Bal Amt: Balance Amount = Trade value - PS Ledger Amount will be automatically reflected here

  • Inv Qty: Invoice quantity with PSL Type: Invoice recorded in PS Ledger will be automatically reflected here

  • Inv Amt: Invoice amount with PSL Type: Invoice recorded in PS Ledger will be automatically reflected here

  • Un Inv Qty: Un-Invoiced Quantity = Quantity - Invoice Quantity will be automatically reflected here

  • Un Inv Amt: Un-Invoiced Amount = Trade Value - Invoice Amount will be automatically reflected here

  • Remarks:Remarks

  • Settlement Remarks

Once done, please click on Save Changes to save your data.

...

d. Input Stock/Inventory Data in Stock Management

If this step is not required yet, please proceed to the next step and return to complete this step when necessary.

Please refer to Stock Management Function for the user guide.

The system will follow this order of priority : Settlement Qty > Contract Actual Qty > Qty to calculate data.

Once stock data has been input, the following columns for each trade in the New Physical Trade table will be reflected automatically.

...

e. Input Payment Data in PS Ledger

If this step is not required yet, please proceed to the next step and return to complete this step when necessary.

This section displays the details of your purchase and sale ledgers for all physical trades.

The system will follow this order of priority : Settlement Qty/Price > Estimated Price > Contract Actual Qty/Price > Qty/Provisional Price tocalculate data.

To access this section, click on 'Trade', following by 'New Physical Trades' from the navigation sidebar on the left. Click on the 'PS LEDGERS' tab at the top of the page to access this section.

The Start Date is 1 month before today's date by default. Please feel free to change the Start Date and End Date (can be any date beyond today's date) accordingly. The dates will remain according to your settings until you log out.

All unassigned items (to Contract No.) are displayed in the table by default. You may select from the Unassigned/Assigned drop down list to viewed the unassigned or assigned trades accordingly. If you add or edit in the table and switch to another page without saving, you will be prompted that any unsaved data will be lost.

Final Calculation Logic:

  1. when we do portfolio P/L calculation, we use phy_trade actual qty (otherwise qty) and actual_price (otherwise ested_price) in phy_pricing table, which means in settlement tables controlled by risk department

  2. for contract_amt, psl, invoice, we use contract_actual_qty (qty) and contract_actual_price (provisional_price) to calculate.

    1. BE in dropdown list in psl, invoice

    2. FE un_inc_amt, un_payment_amt in psl, invoice table

    3. FE contract_amt … in phy_trade table

The right logic should be: for each trade, once they key the price and qty but not yet record PSL or INVOICE for this contract, PSL AMT, INV QTY, INV AMT should be 0 and BAL AMT , UN INV QTY , UN INV AMT should not be null.

Initial BAL AMT, UN INV QTY, UN INV AMT formulas have no change

...

A pop up message reminder will appear for user to save data when change page, will apply when user switches between assigned and unassigned page as well as to all conditions when users switch to other page in system or refresh the page

You can choose to upload your PS ledger/bank/payment statements or add ledger items by clicking '+ Add Row' button located above the table. Input the details (cells highlighted in red are compulsory fields) in the row and click 'Save' once done.

If you want to select from “Contract No..” to auto fill details in the row according to the contract’s details in the dropdown list (if data is available), you must select Company first and the corresponding contract numbers will be available in the Contract No. drop down list for selection. You can then fill in the Ledger Type (Paid/Received) and Amount first, followed by the other fields. The dropdown list will be auto sorted by the latest contract date (Date in Trades tab) at the top of the list.

  • Contract No.

  • Main Contract No.

  • Phy Trade ID

  • Trade Date

  • Company

  • Counterparty

  • Quantity  [settlement qty>contract actual qty>qty]

  • Price [Price will be autofilled according to this, in order of priority settlement price>estimated price>contract actual price>provisional price] 

  • Un Payment Amount: Will be autofilled with Contract Amount if Contract No. is selected from drop down list by default

    • 1、Un Invoice Amount(未开票金额) - In Invoice tab

      2、Un Payment Amount 未收/付款 - PSL

      • Un Invoice Amount = Contract Amount - Invoice Amount

        Un Payment Amount = CONTRACT AMT - Payment/PSL Amount

  • Contract Amount (Contract Actual Qty * Contract Actual Price, calculated in Trades tab)

CONTRACT NO: Key column linked to “PHYSICAL TRADE STATUS” 现货合同状态 app to monitor payment and invoice record.

  • If Contract No. has not been selected yet aka these fields are empty, they will be auto-filled: Company, Counterparty and Unpayment Amt, if “Contract No.” is selected

  • If Contract No. has been selected previously aka these fields are already filled, only Company, Counterparty and Unpayment Amt will change according to the Contract No. So you will need to adjust the rest of the fields manually

  • Main Contract No. column has been added, you may input as necessary

Here are some of the conditions:

  • COUNTERPARTY and AMOUNT should not be editable after saving (they can only edit these when split)

  • When COUNTERPARTY ≠ THIRD PARTY, COUNTERPARTY will be highlighted in green

Please refer to below for more information on how to input the fields. Cells highlighted in red in the table are compulsory fields and are thus necessary to input.

  • PSL ID: Auto generated by system

  • Date: Date when invoice or payment is made, compulsory field

  • PSL TYPE: 账类别: Will be PAYMENT by default

a. PAYMENT 款项: Payment transaction, the amount will be used for “SETTLED AMT” 已收货款 and “SETTLED QTY” 已交重量 calculation in “PHYSICAL TRADE STATUS” 现货合同状态 app.

b. INVOICE 发票: Invoice for the payment, the amount is used for “INV AMT” 票额 and “INV QTY” 票量 calculation in “PHYSICAL TRADE STATUS” 现货合同状态 app.

  • Contract No.: In order for contract numbers to be available for selection, you must select Company first and the corresponding contract numbers will be available in the Contract No. drop down list for selection. You can then fill in the Ledger Type (Paid/Received) and Amount first, followed by the other fields.Every purchase and sale contract should have its own contract number. You may select Contract No. from the dropdown list but you will need be prompted to input Ledger Type and Amount first; and other relevant fields such as Main Contract No., Company, Counterparty, Quantity, Unit, Price, Ratio [default is 100], and Amount [Price * Quantity] will be auto-filled according to the physical trade data input. Otherwise, you may leave it empty. Any contract number with 0 or close to 0 for Un Invoice Amount (un_inv_amt) or Un Payment Amount (un_payment_amt) will not appear in the drop down list as the contract has been fully settled

    • 1、UN INV AMT (未开票金额) - invoice

      2、未收/付款 - PSL

      • un_inv = CONTRACT AMT - inv_amt

        un_payment = CONTRACT AMT - payment_amt

    • Contract No.: Select from the dropdown list to select the Contract Number (must input contract actual price in trade for contract no to appear in ps ledger), and the corresponding data input in Trades tab will be auto-filled here (Main Contract No., Company, Unit, Qty, Un Inv Amt and Counterparty if data is available). These items will be displayed in the drop down list:

      • Contract No.

      • Main Contract No.

      • Phy Trade ID

      • Company

      • Counterparty

      • Product

      • Qty: Contract Actual Quantity or Quantity input in Trades tab

      • Price: Contract Actual Price in Trades tab

      • Un Inv Amt: Refers to invoice amount that has not been accounted for (not saved in Invoice table), will be Contract Amt by default once Contract No. is selected. Once you input values in Amount column to account for the invoice amount, the Un Inv Amt will be recalculated

      • Contract Amt: Contract Actual Qty * Contract Actual Price eeeeeeeee

  • Main Contract No.: Main contract number of individual contract number, you may input as necessary. Input is not required as it will be auto-filled if you select Contract No. from the dropdown list

  • Company: Entity of contract, Name of your company (can be input in Settings>Company>Company Profile page). Input is not required as it will be auto-filled if you select Contract No. from the dropdown list, or you may manually input; this is a compulsory field

  • Bank: Name of beneficiary bank, MUST be set up in Accounting>Bank Details page Accounting Guide before you can select the bank name. Please note that the Company, Bank and Currency must be the same as those saved in the Accounting>Bank Details page, otherwise, Bank column will be reflected in red

  • Counterparty: Name of counterparty. Input is not required as it will be auto-filled if you select Contract No. from the dropdown list; or you may input manually. Please note that if Counterparty and Third Party are different, Counterparty will be highlighted in green.

  • Third Party: If the payment is directed towards a party different from the counterparty listed, you may input the name of third party here. Please note that if Counterparty and Third Party are different, Counterparty will be highlighted in green.

  • Ledger Type: Payment paid to counterparty or payment received from counterparty; this is a compulsory field

  1. RECEIVED 收款: It means the payment is received from your counterparty, it is also applied to “INVOICE” 发票 type row.

  2. PAID 付款: It means the payment is paid to your counterparties, it is also applied to “INVOICE” 发票 type row.

  3. AMOUNT 总额: Always positive number which is used for amount calculations in “PHYSICAL TRADE STATUS” 现货合同状态 app.

...

  • If “PSL Type” is “Invoice”: If the invoice is paid, “Ledger Type” will be PAID

  • DES: Description

  • QTY: Quantity of the contract. Once you select an existing Contract No. from the drop-down list, Quantity will be auto-filled based on your records for your convenience, you are free to adjust the quantity to balance the stock in and stock out quantity. Input is not required as it will be auto-filled if you select Contract No. from the dropdown list. Quantity will follow this order of priority when calculating P/L, PS Ledger and Stock Management: Settlement Qty > Contract Actual Qty > Qty.

  • UNIT: Unit of stock in/stock out transaction. Input is not required as it will be auto-filled if you select Contract No. from the dropdown list. Input is not required as it will be auto-filled if you select Contract No. from the dropdown list

  • PRICE: Input is not required as it will be auto-filled if you select Contract No. from the dropdown list . Order of priority: Actual Price > Estimated Price > Contract Actual Price > Provisional Price

  • PRICE UNIT: Price unit will be auto filled according to PRICE/UNIT

  • RATIO: 100% (1) by default, you may edit as necessary

  • AMOUNT: If user selects from Contract No. column, the Amount will be auto-filled with Un Payment Amount if available. This is a compulsory field, negative amount is supported.

    • 1、UN INV AMT (未开票金额) - invoice

      2、未收/付款 - PSL

    • un_inv = CONTRACT AMT - inv_amt

      un_payment = CONTRACT AMT - payment_amt

    • If you input manually, if the amount is negative, Ledger Type will automatically become PAID. If the amount is positive, Ledger Type will automatically become RECEIVED.

  • PSL Amount: Payment amount received/paid, opposite from Amount

The system will perform auto calculations for AMOUNT if QTY, PRICE and RATIO are filled:

...

Ratio is in the form of % eg 100%, 5% and the system will do calculation accordingly.

  • CCY: Currency of PS Ledger item; this is a compulsory field

  • REMARKS: Remarks

Note:

  • Validation - If any row in PS Ledger is linked to deleted trade execution, an error will be raised as trade Execution cannot be deleted until its corresponding PS Ledger item is deleted

  • Validation date column cannot be bigger than today

...

  • PSL Amt: PS Ledger amount with PSL Type: Payment recorded in PS Ledger will be automatically reflected here

  • PSL Date: PS Ledger date with PSL Type: Payment recorded in PS Ledger will be automatically reflected here

  • Bal Amount: Balance Amount = Trade value - PS Ledger Amount will be automatically reflected here

  • Inv Qty: Invoice quantity with PSL Type: Invoice recorded in PS Ledger will be automatically reflected here

  • Inv Amt: Invoice amount with PSL Type: Invoice recorded in PS Ledger will be automatically reflected here

  • Un Inv Qty: Un-Invoiced Quantity = Quantity - Invoice Quantity will be automatically reflected here

  • Un Inv Amt: Un-Invoiced Amount = Trade Value - Invoice Amount will be automatically reflected here

Logic for PSL/Invoice:

  • any insert or update in PSL or Invoice table, will update inv_amt or payment_amt in phy_trade table

  • sign is important for purchase/sale of contract and credit/debit of payment and invoice (purchase = paid = negative sign; sale = receive = positive sign)

  • FE need to keep un_inv_amt or un_payment_amt updated if any contract is selected before saving.

  • Un payment amt should = contract AMT if payment_amt is empty, as un_payment_amt = contract_amt - payment_amt

  • contract_amt should be contract qty x price, which should be calculated in BE when selected

  • In 5 conditions FE should change the un payment in dropdown list of contract (before save):

    1: Assign contract no to PSL

    2: change the contract no (from A to B )

    3: Delete the contract no

    4: delete row with contract no

    5: change PSL amt with contract no

  • The dropdown list in Contract No. is sorted by the latest contract date(DATE in TRADES tab) at the top of the list

  • When select Contract No., Amount will be auto filled with un_payment_amt calculated by BE in contract dropdown list in PSL when they choose the contract

  • In invoice table and PSL table, inv_amt and psl_amt in Database should be always positive

    • Ledger type is used to control whether the amt should be positive or negative; if split PSL into negative, ledger type will be PAID (negative), RECEIVED (positive).

  • 1、dropdown list, when users choose the “Assigned(已分配) ”,table will show all PSL or invoice with contract no. When users choose “Unassigned(未分配)”, table will show all PSL or invoice without contract no.

    2、default:Unassigned,show all PSL or invoice without contract no

  • Hide MAIN CONTRACT NO. , QTY, PRICE, UNIT, PRICE UNIT, RATIO columns

  • COUNTERPARTY and AMOUNT should not be editable after saving (they can only edit these when split)
    Change chinese translation for Third party: 第三方 to 收/付款

  • Counterparty should not be compulsory

  • When COUNTERPARTY ≠ THIRD PARTY, highlight COUNTERPARTY green

  • When filter Trade tab in new physical trades by product, add new row will appear in the table automatically

Group Function - User Access Management

Group-level(ops) personnel are not allowed to modify or delete PSL and invoicing information imported under company-level accounts. They can only assign under the contract number or split(allocate) the records.

Non-creator should only be allowed to edit following columns:

ps ledgers:

CONTRACT NO.

REMARKS

invoice:

INVOICE ID

CONTRACT NO.

logic in FE

  1. this is only apply to update manually in table and user is not creator

    1. if there is psl_id, then only allow to update columns above

    2. if there is no psl_id, it means new insert data, then all columns are allowed to edit

  2. only creator is able to delete rows manually in table (select row and press delete button)

...

f. Invoice

If this step is not required yet, please proceed to the next step and return to complete this step when necessary.

This section displays the details of your invoice for all physical trades.

The system will follow this order of priority : Settlement Qty/Price > Estimated Price > Contract Actual Qty/Price > Qty/Provisional Price tocalculate data.

1. To access this section, click on ‘Trade', following by 'New Physical Trades' from the navigation sidebar on the left. Click on the 'RECEIVE' tab to access the received invoice (contract is buy so need to make payment so will receive invoice from counterparty) page or 'ISSUE’ to access the issue invoice page (.

2. Click on the drop-down list to display RECEIVED/PAID invoices and the corresponding tables will be reflected accordingly.

The Start Date is 1 month before today's date by default. Please feel free to change the Start Date and End Date (can be any date beyond today's date) accordingly. The dates will remain according to your settings until you log out.

...

  • Search bar: Search for keywords in the search bar for relevant data to be displayed

  • Table Headers: 'Sort' and 'Filter' data using the functions in the table headers (Please refer to Table Settings for table functionalities).

A pop up message reminder will appear for user to save data when change page, will apply when user switches between assigned and unassigned page as well as to all conditions when users switch to other page in system or refresh the page

Final Calculation Logic:

  1. when we do portfolio P/L calculation, we use phy_trade actual qty (otherwise qty) and actual_price (otherwise ested_price) in phy_pricing table, which means in settlement tables controlled by risk department

  2. for contract_amt, psl, invoice, we use contract_actual_qty (qty) and contract_actual_price (provisional_price) to calculate.

    1. BE in dropdown list in psl, invoice

    2. FE un_inc_amt, un_payment_amt in psl, invoice table

    3. FE contract_amt … in phy_trade table

The right logic should be: for each trade, once they key the price and qty but not yet record PSL or INVOICE for this contract, PSL AMT, INV QTY, INV AMT should be 0 and BAL AMT , UN INV QTY , UN INV AMT should not be null.

Initial BAL AMT, UN INV QTY, UN INV AMT formulas have no change

Steps:

1、When users generate invoices, they first add a new row and select the contract no.

The setting for the contract no should be similar to that for receiving invoices, with a dropdown list displaying the UN INV QTY AND UN INV AMT. Users can manually enter the Counterparty to filter the range of contracts.

2、After selecting the contract no, the system will autofill related columns(MAIN CONTRACT NO, SPECIFICATION, UNIT, COUNTERPARTY, QTY, PRICE), as well as match the corresponding ITEMS (inv_product) in the company data with the product. The system will return a dropdown list for the user to select ITEMS.

3、After selecting the ITEMS, If this ITEM corresponds to only one INVOICE NO, the system will automatically fill in the INVOICE NO and the corresponding tax rate.

4、They need to export the invoicing information, and the template is attached. It should be considered whether to export directly or design a new UI if necessary.

3. RECEIVED INVOICE:

Please select from the Unassigned/Assigned drop-down list to select

  • Unassigned - will show all invoices without Contract No.

  • Assigned - will show all invoices with Contract No

Upload Invoice

You are highly recommended to upload your invoice into the system (the units will be captured automatically 吨— Metric Ton; KG— kilogram), instead of manually inputting the data (click '+ Add Row' button located above the table). Depending on the data in your invoice, once you upload your invoice, the following fields should be filled:

  • Date

  • PSL Type

  • Ledger Type

  • Invoice Prod

  • Unit

  • Qty

  • Amount

  • Total Price & Tax

  • Counterparty

For Aggregate : after useruploads the file, system will aggregate all the rows with same “开票日,商品名称,规格型号,单位,税率,销方名称, 税收分类编码“ and recalculate the sum of “数量,金额,税额,价税合计”

the new template delete the TOTAL PRICE & TAX column, now when uploading, system will first upload AMOUNT and TAX AMT, then fill this column ( AMOUNT + TAX AMT)

new aggregate rule:

After uploading the file, system should aggregate all the rows with same “开票日,商品名称(货物或应税劳务名称 in template),规格型号,单位,税率,销方名称, 税收分类编码“ and recalculate the sum of “数量,金额,税额,价税合计(金额+税额)”

You will then be required to input Company and Ccy (Currency) before saving the data. Once saved, the invoice item will remain in the Unassigned table until you are ready to assign the contract number.

Once you are ready to assign contract number to the invoice, you may enter the Unassigned table and select from the Contract No. drop down list to assign the contract number, and the relevant data (Contract No., Main Contract No., Un Inv Amt) will be updated accordingly. Click Save to save the data and the invoice item will be shifted to the Assigned table. The same steps will be repeated until the invoice item is fully assigned and Un Inv Amt will be 0.

  • Un Inv Amt = Contract Amount (viewable in Contract No. dropdown list) - Invoice Amount (Amount)

    • Will be updated immediately in Contract No. drop down list before saving once Invoice Amount (Amount) is input

Manual Input

If you choose to add row to input manually, if you want to select from Contract No. to auto fill details in the row according to the contract’s details in the dropdown list (if data is available), you must fill in Amount first. Contract No. of trades input in New Physical Trade table can be selected to auto fill details in the row according to the contract’s details (Company, Unit, Qty, Un Inv Amt and Counterparty if data is available). Otherwise, you may manually input the compulsory fields highlighted in red.

...

CONTRACT NO 合同编号: Key column linked to “PHYSICAL TRADE STATUS” 现货合同状态 app to monitor payment and invoice record.

  • If Contract No. has not been selected yet aka these fields are empty, they will be auto-filled: Main Contract No., Company, Unit, Qty, Un Inv Amt and Counterparty, if “Contract No.” is selected

  • If Contract No. has been selected previously aka these fields are already filled, only Company, Un Inv Amt, Counterparty will change according to the Contract No. So you will need to adjust the rest of the fields manually

Please refer to below for more information on how to input the fields. Cells highlighted in red in the table are compulsory fields and are thus necessary to input:

  • Invoice ID.: Invoice number, if applicable

  • Date: Date invoice is issued

  • PSL Type: Will be INVOICE by default

  • Ledger Type:Determine if it is a paid or received invoice, it is RECEIVED by default if the invoice dropdown list selected is RECEIVED; amount will always be positive

    • Paid: Amount paid to counterparty

    • Received: Amount received from counterparty

  • Invoice Prod: Name of product listed in invoice

  • Invoice Spec: Specification of product listed in invoice

  • Contract No.: Select from the dropdown list to select the Contract Number, and the corresponding data input in Trades tab will be auto-filled here (Main Contract No., Company, Unit, Qty, Un Inv Amt and Counterparty if data is available). These items will be displayed in the drop down list:

    • Contract No.

    • Main Contract No.

    • Phy Trade ID

    • Company

    • Counterparty

    • Product

    • Qty: Contract Actual Quantity or Quantity input in Trades tab

    • Price: Contract Actual Price in Trades tab

    • Un Inv Amt: Refers to invoice amount that has not been accounted for (not saved in Invoice table), you will be required to input Amount before you select Contract No., otherwise it will be Contract Amt by default once Contract No. is selected. Once you input values in Amount column to account for the invoice amount, the Un Inv Amt will be recalculated

      • Un Inv Amt = Contract Amount (viewable in Contract No. dropdown list) - Invoice Amount (Amount)

    • Contract Amt: Contract Actual Qty * Contract Actual Price

  • Main Contract No.: Main contract number, if applicable

  • Company: Name of company

  • Unit: Unit of product listed in invoice

  • Qty: Quantity of product listed in invoice

  • Amount: Input the amount to account for the invoice. Once you input values in Amount column to account for the invoice amount, the Un Inv Amt will be recalculated. For example, if the uninvoice amount is 1000, if you input 900 in the Amount column, the Un Inv Amt will be 100. This means that the invoice amount of 100 has not been issued yet. You may repeat the same step to make Un Inv Amt 0 which means that the invoice for the trades has been completely settled.

  • Un Inv Amt: Refers to invoice amount that has not been accounted for/settled. Once the invoice amount has been input in Invoice tab, the uninvoiced amount will be recalculated. For example, if the uninvoice amount is 1000, if you input 900 in the Amount column, the Un Inv Amt will be 100. This means that the invoice amount of 100 has not been issued yet. You may repeat the same step to make Un Inv Amt 0 which means that the invoice for the trades has been completely settled.

  • Tax Amt: AMOUNT * TAX RATE change to psl_amt_tax - psl_amt

  • Total Price & Tax: AMOUNT + TAX AMT

  • Ccy: Invoice currency

  • Counterparty: Name of counterparty

Split Function

To split your invoice amount, tick a row and click on Split. You can only split 1 invoice at any one time. The row you have selected will be reflected in the table on the left. 3 split rows on the right are selected by default, you may click on Add Row to add more rows or tick the row and click on Delete Row to delete the rows. If the split amount is negative, the ledger type will be Paid; if the split amount is positive, the ledger type will be Received.

Once you have determined the number of split rows on the right, only Total Price & Tax column must be input in order to save successfully (you may keep the first row empty and input the other rows first, and once other rows are input, the first row will be auto calculated)

...

You may repeat the same steps to split the invoice amounts.

Recalculate Function

PAID INVOICE

Please select from the Unassigned/Assigned drop-down list to select

  • Unissued - will show all invoices without Contract No.

  • Issued - will show all invoices with Contract No.

Please refer to below for more information on how to input the fields. Cells highlighted in red in the table are compulsory fields and are thus necessary to input:

  • Invoice ID.: Invoice number, if applicable

  • Date: Date invoice is issued

  • Contract No.: Select from the dropdown list to select the Contract Number, and the corresponding data input in Trades tab will be auto-filled here (Main Contract No., Company, Unit, Qty, Un Inv Amt and Counterparty if data is available). When choose contract no, if there is only one 开票品名 and one 税收分类编码, tax rate should also auto fill, also check if the 税收分类编码 is right

    • Contract No.

    • Main Contract No.

    • Phy Trade ID

    • Company

    • Counterparty

    • Product

    • Qty: Contract Actual Quantity or Quantity input in Trades tab

    • Price: Contract Actual Price in Trades tab

    • Un Inv Amt: Refers to invoice amount that has not been accounted for (not saved in Invoice table), will be Contract Amt by default once Contract No. is selected. Once you input values in Amount column to account for the invoice amount, the Un Inv Amt will be recalculated

    • Contract Amt: Contract Actual Qty * Contract Actual Price

  • Main Contract No.: Main contract number, if applicable

  • Product: Name of product

  • Specification: Specification of product (not compulsory)

  • Company: Name of company

  • Unit: Unit of product listed in invoice (if invoice is chinese, system can capture unit like kilogram 千克 and metric ton 吨

  • Items:

  • Counterparty: Name of counterparty

  • Qty: Quantity of product listed in invoice; Priority:CONTRACT ACTUAL QTY > QTY

  • Price: Price listed in invoice; Priority:CONTRACT ACTUAL PRICE > PROVISIONAL PRICE

  • Amt: QTY * PRICE

  • Amt before Tax: AMT - AMT BEFORE TAX

  • Tax Amt:

  • Currency: Auto fill by CONTRACT CCY (when user chooses Contract No.)

  • Remarks

  • Invoice No.

  • If Tax Incentive: if inv_tax_rate = 0 : 1; else : 0

  • Tax Incentive Content: if inv_tax_rate = 0 : zero tax (免税); else : null

  • Zero Tax Indicator: if inv_tax_rate = 0 : 1; else : null

  • Invoice Type: if inv_tax_rate = 0 : General(普票); else : Special(专票)

  • Tax Rate: Invoice tax rate

Logic:

  • In 5 conditions FE should change the un payment in dropdown list of contract (before save):

1: Assign contract no to PSL

2: Change the contract no (from A to B)

3: Delete the contract no

4: Delete row with contract no

5: Change psl amt with contract no

  • 1、UN INV AMT (未开票金额) - invoice

    2、未收/付款 - PSL

    • un_inv = CONTRACT AMT - inv_amt

      un_payment = CONTRACT AMT - payment_amt

  • in invoice table and psl table, inv_amt and psl_amt in Database should be always positive.

  • we use ledger type to control the amt should be positive or negative.

  • if split in psl into negative, I suggest we update ledger type to PAID (negative), RECEIVED (positive).

  • When users choose the “Assigned(已分配)” in drop down list,table will show all PSL or invoice with contract no.; when users choose “Unassigned(未分配)”, table will show all PSL or invoice without contract no.

Group Function - User Access Management

Group-level(ops) personnel are not allowed to modify or delete PSL and invoicing information imported under company-level accounts. They can only assign under the contract number or split(allocate) the records.

Non-creator should only be allowed to edit following columns:

ps ledgers:

CONTRACT NO.

REMARKS

invoice:

INVOICE ID

CONTRACT NO.

logic in FE

  1. this is only apply to update manually in table and user is not creator

    1. if there is psl_id, then only allow to update columns above

    2. if there is no psl_id, it means new insert data, then all columns are allowed to edit

  2. only creator is able to delete rows manually in table (select row and press delete button)

...

g. Deals

This section displays the details of your deals and associated trades to allow you to monitor your outstanding and completed deals efficiently.

...

Please refer to List of Definitions: Trades for the definitions of the fields.

...

h. Physical Pricing Setting

This section allows you to set up your physical trade pricing index (Benchmark & MTM - pricing mode = Float/Ave, WMA & Spot) here, which will be required if you want to do bulk trade upload for your physical trades. The pricing index allows you to use a product and benchmark its price against the purchase or sale pricing of the contract so as to better calculate the positions and P/L before the contract is complete (have actual price and quantity). You will thus be able to decide which contract (without actual price yet) should be matched to which particular product's pricing in order to price the contract and calculate the P/L more accurately. If your contract has fixed or actual price, there is no need to create a pricing index, you may just input the fixed price accordingly.

...

Please note that this section is equivalent to the pricing index setting as shown in the screenshot when manually creating your physical trade.

...

3. Create/Manage Quantitative Models & Reports

Dashboard - Individual

You must first input paper trades and physical trades data to generate the following figures:

1. Positions and P/L data: Positions and P/L data (including any commission, expense and income and other costs, etc.) are calculated after paper trades and physical trades data are input.

  • Input data such as positions, price and commission etc in Paper Trades and Physical Trades

  • Input data such as expense and income items and other costs etc in General Ledger . When selecting Type in the table, please choose EXP/INC and input:

    • Expense/Costs: Negative value eg -100

    • Income: Positive value eg 100

Please assign the trade/item to tag them to the corresponding portfolio before saving the data. The system will then automatically calculate the positions and P/L according to your data and display in the model/report accordingly.

 

2. Initial Fund, Fund In/Out data: If necessary, you may input as follows:

  • Paper Trades: Please upload or manually enter data in Portfolio>General Ledger>FCM Statement

    • Please select FCM under FCM TYPE column, and then enter data such as margin, total equity, collateral etc.

  • Physical Trades: Please upload or manually enter data in Portfolio>General Ledger

    • Initial Fund: In General Ledger page, please select INIT FUND under TYPE column and enter the data accordingly

    • Fund In/Fund Out: In General Ledger page, please select FUND IN/OUT under TYPE column and enter the data accordingly

Please assign the trade/item to tag them to the corresponding portfolio before saving the data. The system will then automatically calculate the positions and P/L according to your data and display in the model/report accordingly.

...