Versions Compared

Key

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

31 MAY 2023 - VERSION 3.1.5

...

Issue/Request

Type

User Guide

Jira Ticket

  1. Optimize the interface above the table

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3855

2. RECEIVE allocate window - UN INV QTY issue fixed: User manually adjusts the quantity and amount of contracts to match the numbers exported from the tax system. However, in the 3rd panel, UN INV QTY still appears in red because the system did not treat “0.0000” as 0.

Amount, below 0.05 will assume as 0

Qty, below 0.0005 will assume as 0

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3861

3. Bug in receive table after assign

After user assigned the contract in the RECEIVE table, they noticed an additional record in the unassigned page. The underlying cause of this bug is similar to MAF-3861, where the system failed to treat "0.00" in INV AMT as 0, resulting in an extra update of a new record.

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3862

4. in Unassigned tab only (phy_trade_id empty)

  • only INVOICE rows with same “开票日期,商品名称,规格型号,单位,税率,销方名称, 税收分类编码“ and recalculate the sum of “发票数量,转换后数量,未开票数量,发票金额,未开票金额, 不含税金额,税额“”

  • DATE will be the latest one

Now we have no tax rate (税率)column in table, FE calculate tax rate

tax rate = 税额/不含税金额

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3860

5. PS LEDGERS

Assigned page: MAIN CONTRACT NO., QTY, PRICE

Allocate window 2nd panel: MAIN CONTRACT NO., QTY, PRICE

QTY use qty and contract actual qty from physical trade (priority: contract actual qty > qty)

PRICE use provisional price and contract actual price (priority: contract actual price > provisional price)

 

RECEIVE

Assigned page: QTY, PRICE, CONTRACT AMT

QTY use qty and contract actual qty from physical trade (priority: contract actual qty > qty)

PRICE contract actual price DO NOT USE PROVISIONAL PRICE

FE calculate CONTRACT AMT (QTY * PRICE)

 

ISSUE

upper table: CONTRACT AMOUNT (from physical trade)

Add Created by and Updated by time and date for both ISSUE and RECEIVE

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3857

...

Issue/Request

Type

User Guide

Jira Ticket

  1. Updated settlement filter T not equal to S issue

the correct logic:

  1. if settlement qty != (contract actual qty or qty)

  2. if settlement price (actual_price) != contract_actual_price [ensure null and empty convert to empty]

  3. if tax_rate (settlement tax rate) != contract tax rate [ensure null and empty convert to empty]

use closeto to compare two value.

tot = number of decimal from settings + 1

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3825

2. in issue invoice tab last table un inv qty and un inv amt cannot be positive

same logic as received invoice

if sign of un inv qty and un inv amt is different from initial sign of inv qty, con qty and inv amount, highlight in red and cannot save 

reference:

  1. in RECEIVE window, if any of the point validate check failed, can not save

    1. in the 1st panel, if latest sign of amount is different from initial sign of amount, highlight in red

    2. in the 3rd panel, if sign of un inv amt is different from contract amt, highlight in red

    3. in the 1st panel or in 3rd panel

      1. if one of un inv qty and un inv amt is 0, the other is not 0, highlight in red which which is no 0

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3854

3. issue tab delete bottom table row issue - in issue tab select all rows in top table and they will appear at bottom table but when delete 1 row in the bottom table, all the rows will return in the top table instead of 1

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3859

4. Auto contract

They only can auto generate contract no for one main contract no one by one.

so to solve this issue. We use BE to handle

  1. remove Action column

  2. remove AUT CO popup window code in FE

  3. add AUTO CO button before NEW TRADE

  4. user can multi-select rows

  5. and then click AUTO CO button

  6. FE to call auto_co API to BE to generate contract no for selected row and update in the FE table

  7. press Save button to update in BE

FE

  1. filter out from selected rows

    1. contract no has value

    2. main contract no is empty

  2. pass value to BE:

    1. dict

BE

  1. select all main_contract_nos trade from database

  2. use current FE logic to auto_generate contract_no for each main_contract_no

  3. return format and update contract no based on phy_trade_id

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3786

5. RECALCULATE bug in receive and issue

In invoice receive and issue table, after recalculate, un_inv_qty is not updated.

un_inv_qty = un_inv_qty - (con_qty or psl_qty)

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3850

...

Issue/Request

Type

User Guide

Jira Ticket

1. Updated settlement filter - T not equal to S issue

the correct logic: 

  1. if settlement qty != (contract actual qty or qty)

  2. if settlement price (actual_price) != contract_actual_price [ensure null and empty convert to empty]

  3. if tax_rate (settlement tax rate) != contract tax rate [ensure null and empty convert to empty]

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3825

...

Issue/Request

Type

User Guide

Jira Ticket

  1. Allocate enhancement-add a checkbox (Select All) on the far left of the 3rd panel

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3776

2. Save validation in PSL/RECEIVE allocate window logic

save enable validation new logic

  1. in PSL window, if any of the point validate check failed, can not save

    1. in the 1st panel, if latest sign of amount is different from initial sign of amount, highlight in red

    2. in the 3rd panel, if sign of un payment amt is different from contract amt, highlight in red

  2. in PSL window, should in red but still can save (new added):

    1. in the 3rd panel, if sign of un payment amt is different from contract amt, highlight in red

  3. in RECEIVE window, if any of the point validate check failed, can not save

    1. in the 1st panel, if latest sign of amount is different from initial sign of amount, highlight in red

    2. in the 3rd panel, if sign of un inv amt is different from contract amt, highlight in red

    3. in the 1st panel or in 3rd panel

      1. if one of un inv qty and un inv amt is 0, the other is not 0, highlight in red which which is no 0

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3784

3. allocate window can‘t save- PSL bug fixed

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3808

4. Remove the setting to keep two decimal places of qty columns in PSL & INVOICE

Remove the setting to keep two decimal places of following qty columns :

RECEIVE TABLE

INV QTY

ISSUE TAB, LOWER TABLE

INV QTY

ALLOCATE WINDOW OF PSL

3rd panel: QTY

ALLOCATE WINDOW OF RECEIVE

1st panel: INV QTY

2nd panel: INV QTY

3rd panel: QTY

inv qty will be unlimited dp, amt will be 2dp

the rest not indicated above wont change

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3812

5. add validation when click issue in ISSUE tab

only invoices for same company are allowed to issued together.

If they click invoices with multiple companies like this, do not allow them to issue

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3815

6. make save button always loading if no reaction once click

In PSL, RECEIVE, ISSUE and allocate window of PSL & RECEIVE

once user clicked save button, if no response, make this button always show loading( user can’t click it again until there is response)

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3816

7. Bug: INV AMT and UN INV AMT both equal 0

use payment_amt instead of psl_amt

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3819

8. Logic change for PSL table assign contract

old logic:

assigned contract amt can not less than amount column in selected row. use BE value to compare instead of FE value (BE value all are positive). it means in FE

  1. un payment amt for received row can not be positive (show in red)

  2. un payment amt for paid row can not be negative (show in red)

new logic:

  1. un payment amt for sales type contract can not be positive (show in red)

  2. un payment amt for purchase type contract can not be negative (show in red)

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3814

9. Click on fields to view the aggregated summary in PSL and INVOICE

in RECEIVE table, ISSUE (both upper and lower table), allocate window of PSL & RECEIVE(only 3rd panel), for all amt and qty related columns, add similar function; Also in PSL table

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3813

10. UN INV AMT decimal issue

In allocate window of ISSUE tab, Our setting for UN INV AMT is to display only two decimal places. This causes an issue where if there are more than two decimal places after this cell, it will display as 0.00 and cannot be saved. The system needs to be configured to allow saving when the first two decimal places of UN INV AMT are both 0.

RN for all UN PAYMENT / UN INV AMT, if value < 0.05, treat it as 0.

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3818

For all contracts in 3rd panel (no matter PURCHASE or SALE contracts), when click or select the contract

In 2nd panel, we just create a new PSL record and fill the AMOUNT column with UN PAYMENT AMT in 3rd panel :

If UN PAYMENT AMT<0, auto PSL record whose LEDGER TYPE = RECEIVE

If UN PAYMENT AMT >0, auto a PSL record whose LEDGER TYPE = PAID

 

so please remove currently logic if sign of UN PAYMENT AMT is different from sign of PSL in the first panel, the amt will be auto empty.

this is the special case, when UN PAYMENT AMT sign is different from sign of PSL AMT in the 1st panel.

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3820

11. update amt in phy_trade table

update inv_amt, payment_amt, inv_qty in phy trade

when

  1. delete assigned psl rows accordingly

  2. un-assigned or assign contract to psl rows accordingly

  3. if payment_amt empty, do not save as 0, save as null

test:

  1. assign contract to psl and check phy trade table the amts are updated accordingly

  2. un-assign contract from psl and check phy trade the amts are updated accordingly

  3. delete psl and check related phy trade amts are updated accordingly.

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3822

...

Issue/Request

Type

User Guide

Jira Ticket

  1. in both psl and receive allocate window

if selected row from 3rd panel, still remain in the 3rd panel (it means the selected contract un_payment_amt or un_inv_qty or un_inv_amt is not 0)

please highlight amt, inv qty cell in the row in 2nd panel. Green(Green is for amount that is not equal to contract amt)

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3791

2. Highlight INV and PSL columns with reversed sign in TRADES table

for all PURCHASE contracts:

if BAL AMT or UN INV QTY or UN INV AMT <0 , highlight these columns red

for all SALES contracts:

if BAL AMT or UN INV QTY or UN INV AMT >0, highlight these columns red

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3797

3. new phy trade table sign convertor bugs

For phy trade table

payment_amt (psl_amt)

psl_amt_bal

inv_qty

inv_amt

inv_qty_bal

inv_amt_bal

 

for those keys, BE already done the converter based on sale or purchase, so please remove converter in FE for those keys

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3799

4. Bugs in ag grid table fixed

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3800

5. In PSL table, contract no dropdown list:

delete the contract/ledger type filter condition

for all rows, show

  1. same company

  2. ccy == ccy

  3. un_payment_amt is not 0

 

In PSL allocate window:

delete the contract/ledger type filter condition

in the last panel, show contracts

  1. same company

  2. third party == counterparty

  3. ccy == ccy

  4. un_payment_amt is not 0

 

if un_payment_amt in 3rd panel has reverse sign compared to the amt in 1st panel,

once click contracts in 3rd panel, amt in 2nd panel would not be filled by un_payment_amt, but leave it empty

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3801

6. Highlight UN INV QTY and UN INV AMT with reversed sign in ISSUE tab

In ISSUE tab, upper(contracts) table

if r UN INV QTY or UN INV AMT >0, highlight these columns red

same logic as trade table (please use the same function to handle it)

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3803

7. add more columns in 3rd panel of allocate window - PSL and RECEIVE

add these columns in 3rd panel of allocate window

PSL

INVOICE MONTH

ACTUAL PEICE FLAG

EXECUTION STATUS

STOCK DATE

WH NAME & STATUS

STOCK QTY

UNSTOCK QTY

PSL AMT

PSL DATE

INV QTY

INV AMT

UN INV QTY

UN INV AMT

REMARKS

 

RECEIVE

INVOICE MONTH

ACTUAL PEICE FLAG

EXECUTION STATUS

STOCK DATE

WH NAME & STATUS

STOCK QTY

UNSTOCK QTY

PSL AMT

PSL DATE

BAL AMT

INV QTY

INV AMT

REMARKS

8. FE issue of delete contract no before save in PSL tab

In PSL, when assign contract no, COUNTERPARTY will auto fill. If user tried to delete contract no before save, COUNTERPART should change back to blank, now it would not.

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3807

9. add more columns in upper table of ISSUE tab

BRAND

SPECIFICATION

PSL AMT

BAL AMT

REMARKS

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3809

10. when change data range, there is contract map bug

move the from to date and search button to the upper table.

for physical trade API select, add from to date to filter select in BE to ensure the select rows are the same as dropdown list phy_trades

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3810

...

Issue/Request

Type

User Guide

Jira Ticket

  1. In both RECEIVE and ISSUE tab:

qty in contract no dropdown list should be contract actual qty or qty (priority: contract actual qty > qty)

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3792

2. In issue tab

upper table

add two columns

  1. UN INV QTY

  2. UN INV AMT

API:

  1. currently select filter is un inv amt is not 0, will return to FE.

  2. now change to if un_inv_amt or un_inv_qty not 0, will return to FE.

 

in lower table

QTY is INV QTY actually (not contract QTY)

AMT is INV AMT actually (not contract AMT)

change the columns name from

  1. QTY to INV QTY

  2. AMT to INV AMT

initial value map

  1. INV QTY will be map to UN INV QTY from upper table

  2. INV AMT will be map to UN INV AMT from upper table

 

IN RECEIVE tab table,

Please change column name

QTY to INV QTY

AMT to INV AMT

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3793

3. Narrow the borders and navigation bar on our webpage to match the width of the left border and bookmark bar shown in the image

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3794

4. for invoice issue or receive

when save to BE, inv_amt, inv_qty must be positive!

BE also need do some validation.

  1. inv_qty and inv_amt must be positive in DB

  2. phy trade table BE calculation for inv_qty, inv_amt, nv_qty_bal, un_inv_amt_bal

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3795

5. Issue tab - when press save button to call BE API to upsert for pay_inv_amt_list, we only update rows if there is a update.

currently, we just update all rows, which is incorrect.

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3796

6. Receive tab - when click “总计” and upload file, it shows error bug fixed

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3798

7. Issue tab - they need to edit the invoice in issued page; now once they edit and click save, system is supposed to move these invoices back to unissued page. 

  1. in Issue page, low table, when it is Issued list, add a button after Recalculate called Unissue

  2. select row and click Unissue button to call upsert API

  3. preload data could make it simple

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3802

invoice, psl recalculate function bugs = in dropdown list, for Contract No (phy_trade_id)

in BE, all keys are converted sign based on purchase or sales

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3804

...

Issue/Request

Type

User Guide

Jira Ticket

  1. Different department authorization settings - PSL & invoice

  • 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 mentioned by Charles

    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)

Enhancement

Groups

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3741

  • In issue tab, lower table, QTY, AMT should be negative in FE

  • In trades table, inv qty should convert to contract unit (sometimes inv qty from invoice tab would combine both psl_unit and contract unit)

  • logic for un inv amt should be same as un payment amt in ps ledger, once user input amount here, the un inv amt = contract amt - amount

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3753

2. PS Ledger - Unpayment amount calculations and contract number drop down bug fixed

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3763

3. Invoice (Issue) - INVOICE ID in issue table be automatically generated by system, no rules, just be different with each other

  • will use psl id when there are no invoice id stored in BE, otherwise using stored invoice id value.

  • psl id should be hidden by default in receive and issue tab

重量,含税金额,不含税金额,税额 in exported file should be positive, negative in table only

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3765

4. Invoice (Issue) - bug fixed

  • clicked issue button and exported unissued invoices, but these items still stay in unissued tab

  • after delete one assigned invoice’s contract no, it move back to the unassigned tab but the product name disappeared

  • sometimes information in issue tab would move to the assigned tab in received page after delete contract no

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3766

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3767

5. PS Ledger - Allocate

PSL allocate:

1、in allocate pop window, show all UN_PSL_AMT not 0 (depends on in PSL or INVOICE) table contracts rows with the same of counterparty name(THIRD PARTY in PSL record) and same company name with selected row above

 

2、add combine function for PSL (FE and BE)

condition and logic

  1. in Unassigned tab only (phy_trade_id empty)

  2. only PSL with same THIRD PARTY, LEDGER TYPE, CCY and COMPANY are allowed to combined sum up all AMOUNT

  3. DATE will be the latest one

FE:

  1. select multiple rows, enable combination button only if it meets the logic and condition above.

  2. click COMBINE button (must have confirmation popup window for user to confirm)

  3. click confirm, call combination API (create a new API in BE) to BE

    1. delete selected rows

    2. insert a new row

Contract's counterparty match with Third Party (not counterparty) in Psl record

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3768

6. General Ledger - Add tick row to view aggregated summary

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3769

7. Change ? icon message fo PS Ledger and Receive tab

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3773

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3774

8. PSL tables

  1. assigned contract amt can not less than amount column in selected row. use BE value to compare instead of FE value (BE value all are positive). it means in FE

    1. un payment amt for received row can not be positive (show in red)

    2. un payment amt for paid row can not be negative (show in red)

    3. if un payment amt in red in the table, can not save (FE validate only)

receive table

  1. assigned contract amt can not less than amount column in selected row. use BE value to compare instead of FE value (BE value all are positive). it means in FE

    1. un inv amt for received row can not be negative (show in red)

    2. un inv am for paid row can not be positive (show in red)

    3. if un inv am in red in the table, can not save (FE validate only)

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3775

9. BOTH PSL and RECEIVE tab allocate:

1、when they allocate the contracts to psl or invoice records, once amount Change the positive/negative sign, It should show red and allocate can’t be confirmed.

2、When the assigned and amount of contracts are greater than the qty and amount of invoices or psl(which means they will change the positive/negative sign of amount), please reduce the assigned qty and amount to match the qty and amount of invoices or psl

3、FE: add select all tick box for lower table, add sum function in all three tables for all qty and amt related columns

 

RECEIVE tab:

1、add QTY in middle table, add UN INV QTY in lower table

2、When they allocate the AMT, firstly we allocate the TAX AMT proportionally, calculate the AMT BEFORE TAX of each contract (AMT - AMT BEFORE TAX), then we can calculate the balance of these three amt of selected invoice.

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3776

10. PSL and RECEIVE allocate issue

  1. for PSL and RECEIVE allocate, the last panel, add one more column PURCHASE/SALE

  2. PSL allocate:

    1. if select row is RECEIVE, only show contracts

      1. same company

      2. third party == counterparty

      3. ccy == ccy

      4. only sales contract

    2. if select row is PAID, only show contracts

      1. same company

      2. third party == counterparty

      3. ccy == ccy

      4. only purchase contract

  3. RECEIVE allocate:

    1. if select row is RECEIVE, only show contracts

      1. same company

      2. counterpary == counterparty

      3. ccy == ccy

      4. only purchase contract

    2. if select row is PAID, only show contracts

      1. same company

      2. counterpary == counterparty

      3. ccy == ccy

      4. only sales contract

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3777

11. In both PSL and INVOICE (receive and issue) table, contract no dropdown list:

add PURCHASE/SALE information

 

In PSL tab:

CONTRACT NO dropdown list should only show physical trades whose purchase/sale type related to ledger TYPE (if ledger TYPE = PAID, only show PURCHASE contracts; if ledger = RECEIVE, only show SALE contracts

the filter logic is the same as the logic as ticket 3777

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3778

12. Issue tab - when click contract in top table, will show error to fill amount but no price information from BE, system can’t calculate amount

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3779

13. PS Ledger - condition and logic change for combine function

  1. in Unassigned tab only (phy_trade_id empty)

  2. only PSL with same THIRD PARTY,Bank, LEDGER TYPE, CCY and COMPANY are allowed to combined sum up all AMOUNT

  3. DATE will be the latest one

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3785

14. Invoice issue table:

CONTRACT NO dropdown list should only show physical trades whose purchase type = Sale

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3787

15. PS Ledger and Receive tab - Disable allocate button for assigned table

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3788

16. PS Ledger and Invoice contract no dropdown list filter logic

  • CONTRACT NO dropdown list should only show physical trades according to below logic

  1. PSL:

    1. if select row is RECEIVE, only show contracts

      1. same company

      2. ccy == ccy

      3. only sales contract

      4. un_payment_amt is not 0

    2. if select row is PAID, only show contracts

      1. same company

      2. ccy == ccy

      3. only purchase contract

      4. un_payment_amt is not 0

  2. RECEIVE:

    1. if select row is RECEIVE, only show contracts

      1. same company

      2. counterpary == counterparty

      3. ccy == ccy

      4. only purchase contract

      5. un_inv_amt is not 0 or un_inv_qty is not 0

similar to what charles mentioned previously, please make sure the contracts with the same counterparty/third party will appear at the top of the contract number dropdown list

“contracts with the same counterparty/third party will appear at the top of the contract number dropdown list”

This means the contracts whose counterparty is same as the third party of PSL should appear at the top

for example: here the third party = HEHE, so all the contracts with counterparty = HEHE should show in the top, not EEE

currently they only choose ITEMS in issue table, contract no will be auto fill once they click the contract in upper table. so will disable contract number column

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3789

17. stable FE: phy trades table upsert bug - when update or insert, please do not pass sign to BE.

BE only store positive number.

Please check such as qty, contract actual qty … specially for sales contract.

urgent!

 

BTW, BE dev_3.1.4 add some converter to ensure qty is positive. but in testing server, new_master branch, I have not merged yet.

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3790

18. Enhancement for allocate in psl and combine

New:

  1. PSL allocate:

    1. if select row is RECEIVE, only show contracts

      1. same company

      2. third party == counterparty

      3. ccy == ccy

      4. only sales contract

      5. un_payment_amt is not 0

    2. if select row is PAID, only show contracts

      1. same company

      2. third party == counterparty

      3. ccy == ccy

      4. only purchase contract

      5. un_payment_amt is not 0

  2. RECEIVE allocate:

    1. if select row is RECEIVE, only show contracts

      1. same company

      2. counterpary == counterparty

      3. ccy == ccy

      4. only purchase contract

      5. un_inv_amt is not 0 or un_inv_qty is not 0

 

2、add combine function for PSL (FE and BE)

condition and logic

  1. in Unassigned tab only (phy_trade_id empty)

  2. only PSL with same THIRD PARTY,Bank, LEDGER TYPE, CCY and COMPANY are allowed to combined sum up all AMOUNT

  3. DATE will be the latest one

FE:

  1. select multiple rows, enable combination button only if it meets the logic and condition above.

  2. click COMBINE button (must have confirmation popup window for user to confirm)

  3. click confirm, call combination API (create a new API in BE) to BE

    1. delete selected rows

    2. insert a new row

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3768

...

Issue/Request

Type

User Guide

Jira Ticket

1. PS ledger adjustment for contract no. drop down list and split function

  • select PSL or INVOICE row (Single select only)

  • click Allocate button (which replace SPLIT button)

  • pop up a new window (ensure big enough)

    • three panels in the window

      • show selected row

      • splited rows if any

      • show all UN_PSL_AMT or UN_INV_AMT not 0 (depends on in PSL or INVOICE) table contracts rows with the same of counterparty name with selected row above

  • user click last panel row

    • split amount will be contract_amt by default, but user is allowed to modify

    • update selected row balance amt

    • update un_psl_amt or un_inv_amt

    • remove contract from contract rows if un_psl_amt or un_inv_amt == 0

  • if balance amt = 0, selected row highlight to tell user allocate or split done, then enable Save button.

  • user click save button to call split API to BE

  • in 3rd panel:

    • Qty should be contract_actual_qty or qty

    • Price should be contract_actual_price or price

    • Contract AMT: should be -4444, since it is sale contract

    • Un Payment Amt should be -4344

    • When click row in 3rd panel, the row will be shown in 2nd panel, the amt should be un payment amt by default

      • 1st panel row amt should be update accordingly

      • if user cancel the window, can re-enter the window, un payment amt should be refreshed.

Enhancement

New Physical Trades

https://mafint.atlassian.net/browse/MAF-3707

2. Bulk Issue Invoice 批量开票

  • make it more easier for user to use:

  1. INVOICE tab→ RECEIVE INVOICE tab and ISSUE INVOICE tab

  2. IN RECEIVE INVOICE, only show received invoices row

  3. IN ISSUE INVOICE tab, show two tables

    1. upper tables show all the sales phy trades contract and inv_amt != contract_amt, columns are the same current invoice table, plus trader, trade_mode, inv_mth, contract_amt, un_inv_amt.

    2. you can use the same API of trade tab (no time period, but add two more conditions, sales and inv_amt != contract_amt)

    3. lower table show all existing inv rows (same as current invoice table)

  4. In upper table, user is able to select items to auto fill the table

  • requirement as follows: first select the contract from the table above, and then select the ITEM in the invoicing table below.

  • add five more columns in upper table

    • trade date

    • contract no

    • main contract no

    • entity of contract, product (put these two after trade date)

  • The process we have designed now is as follows:

    The table above only displays 客户名称,交易员,交易模式,合同币种,约定发票月份,合同数量/实际数量,合同实际价格,是否终价,款项总额,出入库数量,未出入库数量 same in trade tab, allowing users to select contracts after filtering. Once selected, the contract will move to the table below, and then the ITEM can be selected here.

New Feature

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3724

2. Dashboard - Daily Statement scroll bar bug fixed

Enhancement

Daily Statement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3736

3. PS Ledger - In allocate pop window, show all UN_PSL_AMT or UN_INV_AMT not 0 (depends on in PSL or INVOICE) table contracts rows with the same of counterparty name and same company name with selected row above

4. If not allocate, the dropdown list of contract no is supposed to only show contracts with same company name with selected psl, The contract corresponding to the same counterparty with psl shall be displayed at the top.

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3738

5. PS Ledger and Invoice - Recalculate button does not work bug fixed

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3739

6. New Physical Trades - PS Ledger Receive page

TAX AMT (AMOUNT * TAX RATE) CHANGE TO psl_amt_tax - psl_amt

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3740

7. 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)

Enhancement

Groups

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3741

After UN INV QTY done in invoice tab, we should work on this issue:

They will convert the unit from tons in the contract to kilograms when recording invoice information. Our current setting allows them to change the unit and manually convert the quantity and price.

However, we also need to consider the consistency of the unit when calculating the UN INV QTY

  • con_qty is the qty with contract unit converted from psl_qty based on psl_unit from input/upload from user.

e.g., invoice unit is KG and qty is 1000, but contract unit MT, therefore con_qty is 1000 / 1000 = 1 MT (convert from 1000KG)

to be aware that from_unit must be the same dim as to_unit’s. it means e.g., MT to KG

you can not convert from MT to Barrels here.

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3742

8. PS Ledger -

  • Assigned/unassigned drop down list bug fixed

  • When add a new row, ccy should be highlighted in red since it is a must item

  • RN upserting new row in PSL also trigger this function; Actually in PSL we don’t need to allocate qty so there is no unit, unit conversion should only exist in INVOICE tab

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3744

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3745

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3746

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3750

9. New Physical Trades - Copy paste and ctrl + shift + v bug fixed

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3747

10. RECEIVE tab - CONTRACT NO dropdown list should only show physical trades whose purchase type = Purchase

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3751

11. PS Ledger - Unpayment amt incorrect bug fixed

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3752

12. Updated Settlement - cannot open page bug fixed

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3754

13. PS Ledger - Contract No. filter bug fixed

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3755

14. Issue invoice page - Assigned/Unassigned drop down list bug fixed

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3756

15. Template

列间距再缩小一点,让一个页面能看到更多内容

浅色版与深色版列宽不一致(浅色比深色更宽一点),且浅色版高度小中大三种模式与深色版也不一致

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3757

16. PS Ledger enhancements

amt

amt includes tax, need to remap into upload file

amt before tax

  1. receive:

    1. amt before tax is direct from upload file when upload file

    2. amt before tax is calculated from amt - tax_amt from BE data if there is psl_id

    3. manual key in: amt before tax is calculated from amt - tax_amt keyed in by user

  2. issue:

    1. amt before tax is calculated in FE based on current formula if the row is new without psl_id

    2. amt before tax is calculated amt - tax_amt from BE data if psl_id

tax amt

  1. receive:

    1. from upload file directly if upload file

    2. or keyed in by user

    3. save into database, map to psl_tax_amt

  2. issue:

    1. calculated based on current formula in FE if new row without psl_id

    2. from database directly if psl_id

    3. save into database, map to psl_tax_amt

psl_amt_tax is no longer exist.

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3758

17. RECEIVED tab in new physical trade

same as AGGR tick box in create new paper trade, user can tick the box or not to choose if they want to aggregate uploading data.

Aggregate rule does not change, just make sure they can also upload without group/sum.

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

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3759

18. in both receive and issue table, add con qty column

after qty

Chinese:

转换后数量 Receive

转换后重量 Issue

Enhancement

New Physical Trades

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3760

...

Issue/Request

Type

User Guide

Jira Ticket

  1. New Physical Trades - Invoice: Receive Invoice tab

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

2: Add UN INV QTY(未开票数量)in contract no dropdown list

Same logic as UN INV AMT, when there is contract actual qty, we use that for contract qty, else we just use qty in trades.

3: For split: allow them to split both QTY and TOTAL PRICE & TAX

when add new row or split:

after users assign contract no, auto fill QTY AND INV AMT based on UN INV QTY and UN INV AMT(same logic as PSL)

4: no idea about why “税额“(TAX AMT) is missing now, add that column (both in table and split page)

5: INV AMT column should be UN INV AMT, same logic in PSL

Our previous idea was not to separately set the UN INV QTY, but to retrieve the price from the contract after the contract is assigned . In theory, this would only require splitting the total price & tax

However, Sometimes when there is no pricing in the contract but an invoice needs to be issued, haitian will randomly use a market price to issue a partial invoice. After the pricing is finalized, the remaining invoice will be issued and the price at that time will be calculated by subtracting the previous invoiced amount from the final amount in the contract..

Enhancement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3680

Internal stock action Optimization: Currently, the process of relocating items within the warehouse is too complex.

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3682

Display data modified on the current day using colors

the areas that have been newly added or modified on the same day be highlighted with a color or another visual indicator to easily indicate updates? Note: This request has been cancelled at 1:30 pm on the following day.

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3684

Handle annual settlement

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3686

GENERAL LEDGER, Separate FUND IN/OUT and EXP/INC into two different modules.

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3693

In Admin page, add a new tab table called CLEAN UP

the able is the same as user management, the only different is

  1. only show user never login for 3 months by today

  2. user never activated

 

once we have the table in FE, we need some buttons to for all those users.

  1. delete all paper trades

  2. delete all physical trades

  3. delete all portfolios

for delete trade:

  1. user select user rows, click Clean up Trade button

  2. Based on selected user_id, find all trade_ids

  3. use found trade_ids, pass to out existing delete trade function

 

same as delete physical trade and delete portfolio

 

we must use existing delete functions coz they will other linked actions such as recal portfolios …

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3696

Short form for company name

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3708

Auto save function

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3709

Dashboard - currently we have performance issue in dashboard.

so let’s limit No. of apps loading once a time

  1. limit to 2 apps one time to call, only load another 2 app after current finished

  2. personal dashboard and group dashboard both

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3717

PS Ledger - split multiple records one time

Jira Legacy
serverSystem JIRA
serverIda6a5c91f-7975-3c4d-8f2d-6aab593771a8
keyMAF-3734

...