MAF CLOUD - NEW RELEASE + FIX UPDATES MAY 2023

31 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

  1. Receive Invoice - Main Contract No. empty after allocate bug fix

Enhancement

New Physical Trades

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

2. In company data, “PRODUCT” has two different INVOICE NO. with same ITEMS (2), TAX CLASSIFICATION NAME(1234) and same TAX RATE (12 )

But I can only find one record (INVOICE NO. = INV_GROUP_NO2) in dropdown list of ITEMS in issue table

ONCE we choose the contracts from upper table, dropdown list of ITEMS is supposed to show all the possible combinations of INVOICE NO., ITEMS, TAX CLASSIFICATION and TAX RATE under this product.

Enhancement

New Physical Trades

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

3. company data invoice - cannot copy (ctrl + shift + v) bug fixed

Enhancement

New Physical Trades

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

30 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

  1. Optimize the interface above the table

Enhancement

New Physical Trades

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

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

29 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

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

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

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

26 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

  1. Unit convert bug in psl

in psl window or table

when update amt, there is a bug due to no unit to convert. need to handle it

in psl, receive, issue table or window, to test update amt, qty correctly.

Enhancement

New Physical Trades

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

2. PS ledger allocate 2nd panel amt did not change bug fixed

when add new row in 2nd panel and input amt, the amt in 1st panel does not get deducted accordingly

seems like happen for trades with no contracts in 3rd panel

Enhancement

New Physical Trades

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

3. Issue invoice bug fixed:

  • after delete row in last table, it does not return to first table automatically

need to click on search or refresh then can see the row

  • after click a row in first table, it will appear at the bottom table

but after change the unit from MT to kilogram, the con qty does not auto update

  • after click a row in first table, it will appear at the bottom table

    the con qty should auto appear

 

Enhancement

New Physical Trades

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

4. in receive and issue tab - even if unit is same should still show con qty

Enhancement

New Physical Trades

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

5. UN INV QTY IS NOT UPDATE IN ALLOCATE INVOICE RECEIVE bug fixed

Enhancement

New Physical Trades

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

6. in new physical trade table, add a new column “INV DATE”

after INV AMT

发票日期

INV DATE key is max_inv_date from BE (pushed)

Enhancement

New Physical Trades

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

7. settlement and updated settlement be placed after the invoice tab

Enhancement

New Physical Trades

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

8. ISSUE upper table enhancement-add a checkbox (Select All) - add a checkbox (Select All) on the far left of the table, which would allow them to select all contracts at once and move them to the lower table.

Enhancement

New Physical Trades

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

9. ISSUE upper table enhancement-add a checkbox (Select All) add a checkbox (Select All) on the far left of the table, which would allow them to select all contracts at once and move them to the lower table.

Enhancement

New Physical Trades

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

25 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

  1. Add pop up message for Recalculate in ps ledger and invoice

when user click on recalculate in ps ledger and invoice (receive and issue), add a pop up message with the following:

Successful!

Recalculation has been completed, please save your data.

成功!

重新计算已完成,请保存您的数据。

only can recalculate trades with contract no, so need tick first and click recalculate

Failed!

Please select row(s) with contract to recalculate.

失败!

请选拥有合约编号的行(至少一个)以重新计算。

Enhancement

New Physical Trades

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

24 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

  1. Add pop up message for Recalculate in ps ledger and invoice

when user click on recalculate in ps ledger and invoice (receive and issue), add a pop up message with the following:

Successful!

Recalculation has been completed, please save your data.

成功!

重新计算已完成,请保存您的数据。

only can recalculate trades with contract no, so need tick first and click recalculate

Failed!

Please select row(s) with contract to recalculate.

失败!

请选拥有合约编号的行(至少一个)以重新计算。

Enhancement

New Physical Trades

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

2. PS ledger and receive invoice assigned/unassigned and issued/unissued drop down list; if filter in the assigned table, when i changed to unassigned and then back to assigned, the filter is gone bug fixed

Enhancement

New Physical Trades

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

3. After allocate ps ledger, counterparty is empty. Counterparty should be auto filled once you assign the contract no

Enhancement

New Physical Trades

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

4. Receive invoice allocate issues fixed:

  1. in 2nd panel con qty should not be empty

  2. in 2nd panel, un inv amt should be same in in the 3rd panel (contract amt - inv amt)

Enhancement

New Physical Trades

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

5. PS ledger - if unpayment amt is 0, copy paste contract no should not work

in ps ledger if unpayment amt is 0, contract no will not be available in dropdown list since already allocated finish

Enhancement

New Physical Trades

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

6. Row order issue

order by psl_id DESC

for table psl, receive and issue

Enhancement

New Physical Trades

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

7. Fix table layout for all tables in new phy trade

Enhancement

New Physical Trades

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

8. Receive table - add un inv qty column behind con qty

Enhancement

New Physical Trades

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

9. unit convert in FE for un inv qty match and calculate

un_inv_qty from BE response to FE is based on phy trade contract unit.

when invoice receive or issue, the inv_unit could be different from contract_unit.

when auto match un_inv_qty in allocate window or receive, issue table, FE need to convert to contract unit first, then auto match.

try invoice unit different from contract unit. FE will do auto convert first and then to calculate un inv qty in FE

Enhancement

New Physical Trades

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

24 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

  1. please dismiss psl_amt from those API response, new key will be payment_amt

    1. psl/upsert response

    2. psl/split response

    3. psl/delete response

    4. psl/delete resposne

     

    change psl_date in dropdown list to max_psl_date

test: check dropdown list payment amt is correct in psl or invoice table

check 3rd panel rows in allocate window, payment amt and un payment amt, inv_amt, un_inv_amt is correct

Enhancement

New Physical Trades

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

2. Payment amt bug fixed

check

payment amt, inv amt, inv qty, unpayment amt, un_inv_qty, un_inv_amt

if correct in

  1. phy trade table

  2. psl and invoice (receive and issue both) table

    1. table

    2. allocate

    3. dropdown list

Enhancement

New Physical Trades

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

3. update payment amt issue fixed

for upsert, delete API for psl (psl and invoice)

please change pay_inv_amt_list to phy_trade_ids

phy_trade_ids means whatever update, or insert or delete psl or invoice rows contain phy_trade_id (including remove contract_no from psl/invoice row)

BE will based on phy_trade_ids list to update payment_amt, inv_qty and inv_amt

 recalculate only apply to select rows (selected phy_trade_ids)

after recalculated, no matter the value is updated in row, please pass phy_trade_ids to BE.

for psl and invoice both

  1. please make sure issue table also pass phy_trade_ids to BE to update. (6 points)

  2. make sure real time update un_inv_qty and un_inv_amt

for testing:

  1. delete row with contract_no

  2. unassign contract_no

  3. assign contract_no

  4. insert new row with contract_no

  5. update row with contract_no (update anything)

  6. all the above actions without contract_no

for 1 to 5 point, payment amt, invoice_amt and invoice qty should be update accordingly, to check if the number is correct

Enhancement

New Physical Trades

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

4. Trades tab - bug fixed

  • quantity should be must item so highlight in red

  • psl date is empty bug fixed

  • copy paste will highlight in red if the table is filtered

Enhancement

New Physical Trades

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

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

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

5. PS ledger assigned table contract number dropdown list should not be empty

  • contract ccy must match to psl or invoice currency. if different, then can not show

Enhancement

New Physical Trades

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

6. Change message contents:

  • recalculate pop up message in PS Ledger and Received Invoice

  • change allocate message in ps ledger and invoice

Enhancement

New Physical Trades

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

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

7. Remove MAF-3711 filter

Enhancement

New Physical Trades

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

8. receive tab - bug fixed

  • un inv amt not updated

  • allocate and save got error

Enhancement

New Physical Trades

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

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

9. BE and FE: psl, invoice receive and issue compress the response

Enhancement

New Physical Trades

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

23 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

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

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

22 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

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

https://mafint.atlassian.net/browse/MAF-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

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

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

Enhancement

New Physical Trades

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

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

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

use payment_amt instead of psl_amt

Enhancement

New Physical Trades

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

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

19 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

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

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

Now that we have lifted the restriction on positive and negative signs, should we allow them to save when the "un payment" in the 3rd panel is displayed in red? The save validation should only apply to the 1st panel of PSL&RECEIVE and 3rd panel of RECEIVE window

Enhancement

New Physical Trades

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

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

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

3. add UN INV QTY column in lower table of ISSUE tab before UN INV AMT

Enhancement

New Physical Trades

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

4. tick rows and 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:

Enhancement

New Physical Trades

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

18 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

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

 

https://mafint.atlassian.net/browse/MAF-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

 

https://mafint.atlassian.net/browse/MAF-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

 

 

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

4. Bugs in ag grid table fixed

 

Enhancement

 

https://mafint.atlassian.net/browse/MAF-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

 

 

https://mafint.atlassian.net/browse/MAF-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

 

https://mafint.atlassian.net/browse/MAF-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

 

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

9. add more columns in upper table of ISSUE tab

BRAND

SPECIFICATION

PSL AMT

BAL AMT

REMARKS

Enhancement

 

https://mafint.atlassian.net/browse/MAF-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

 

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

18 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

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

 

https://mafint.atlassian.net/browse/MAF-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

 

https://mafint.atlassian.net/browse/MAF-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

 

https://mafint.atlassian.net/browse/MAF-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

 

https://mafint.atlassian.net/browse/MAF-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

 

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

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

Enhancement

 

https://mafint.atlassian.net/browse/MAF-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

 

https://mafint.atlassian.net/browse/MAF-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

 

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

3784 3786 3776

15 MAY 2023 - VERSION 3.1.4

Issue/Request

Type

User Guide

Jira Ticket

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

https://mafint.atlassian.net/wiki/spaces/MCUGX/pages/532939846

https://mafint.atlassian.net/browse/MAF-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

 

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

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

Enhancement

New Physical Trades

https://mafint.atlassian.net/browse/MAF-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

https://mafint.atlassian.net/browse/MAF-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

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

https://mafint.atlassian.net/browse/MAF-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

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

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

Enhancement

New Physical Trades

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

Enhancement

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

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.

 

 

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

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

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

 

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

 

14. Invoice issue table:

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

Enhancement

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

Enhancement

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

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

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

 

15 MAY 2023 - VERSION 3.1.5

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

19. In both RECEIVE and ISSUE tab

contract no dropdown list

add UN INV QTY

  1. same logic as inv_amt in phy_trade db

  2. when ever update/insert/delete invoice recieve/issue, need to update inv_qty in phy_trade

  3. user con_qty in psl table to sum up to update inv_qty ensure the unit is the same for invoice and phy_trade

  4. un_inv_qty = (contract_actual_qty or qty) - (inv_qty or 0), sign of purchase or sales qty should be applied.

  5. un_inv_qty does not need to be real time updated in FE.

Enhancement

20. General Ledger - add tick row to view aggregated summary function

 

 

21. Light theme bug fixed

  • Allocate in PS Ledger/Received tab top table data missing

 

 

21. Receive tab - allocate page’s 2nd table should have same columns as 1st table

 

 

22. Receive tab - Allocate 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.

 

in the 1st panel

latest tax amt is the last updated tax amt in the row

latest amt is the last updated amt in the row

 

in the 2nd panel

allocated tax amt is tax amt in the row

 

the logic is:

allocated tax amt = latest tax amt * (allocated amt / latest amt )

 

BTW, make sure amt before tax is also update together.

Enhancement

23. Current logic for psl and receive allocate auto allocate logic:

  1. click 3rd panel row to 2nd panel, FE will auto allocate amt based on un payment amt or un inv amt

New logic should be:

  1. click 3rd panel row to 2nd panel, FE will auto allocate

    1. amt:

      1. min [abs(amt) in 1st panel, abs(un payment amt or un inv amt) in the row]

    2. qty in receive allocate window:

      1. min [abs(qty) in 1st panel, abs(un inv qty) in the row]

Enhancement

24. receive allocate window contract movement logic

current logic

  1. if un payment amt or un inv amt change to 0 after click in 3rd panel,

    1. it will move to 2nd panel.

    2. remove it from 3rd panel

  2. otherwise,

    1. it will move to 2nd panel

    2. meanwhile update un payment amt or un inv amt in the row in 3rd panel.

 

new logic

  1. for psl allocate window, nothing change

  2. for receive allocate window

    1. only if un inv qty and un inv amt both become 0, will remove from 3rd panel

    2. otherwise, keep update un inv qty and un inv amt in the row in the 3rd panel

Enhancement

 

12 APR 2023 - VERSION 3.1.4

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

  1. Physical Trade positive/negative bug fixed

Enhancement

 

08 MAY 2023 - VERSION 3.1.4

Issue/Request

Type

User Guide

Jira Ticket

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

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

2. Dashboard - Daily Statement scroll bar bug fixed

Enhancement

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

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

Enhancement

6. New Physical Trades - PS Ledger Receive page

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

Enhancement

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

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

 

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

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

Enhancement

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

Enhancement

11. PS Ledger - Unpayment amt incorrect bug fixed

Enhancement

12. Updated Settlement - cannot open page bug fixed

Enhancement

13. PS Ledger - Contract No. filter bug fixed

Enhancement

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

Enhancement

15. Template

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

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

Enhancement

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

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

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

after qty

Chinese:

转换后数量 Receive

转换后重量 Issue

Enhancement

 

new physical trades - basic steps

  1. Input trades data in trades tab and save. Saved trades will appear in settlement tab. User can use auto running contract number function to auto fill contract numbers in running order for all contracts with the same main contract number: <main contract no.>_<number> eg test_1

  2. Input compulsory fields in settlement tab and once saved, trades will be shifted to updated settlement tab. so any updates can only be made in updated settlement tab. so any trades will only appear in 1 tab, either settlement or updated settlement tab

  3. User will need to input payment (PS Ledger tab: receive payment from counterparty; refers to sales contract only and all quantity and amount will be negative), invoice (receive invoice from counterparty to make payment and issue invoice for counterparty to make payment. Receive invoice refers to receiving invoice from counterparty to make payment, so it is a purchase contract and quantity and amount will be positive; Issue invoice refers to issuing invoice to counterparty to collect payment, so it is a sales contract and quantity and amount will be negative) and stock management in the respective table as necessary and the information will auto appear in the columns in the trades table at the right most columns for easy reference.

  4. PS Ledger (receive payment from counterparty; refers to sales contract only and all quantity and amount will be negative), is for input of all payment received items, so user can input when necessary. User can upload the bank/payment statement into the table and Amount field will be filled. Unpayment Amt = Contract Amt - Amount; so if Unpayment Amt is not 0, it means that the payment has not been fully settled. for ht, their upload file only has company name, third party etc and no counterparty. so when they select contract no, the counterparty will be autofilled accordingly and if the third party is different from counterparty, counterparty will be shown in green. Repeat the same steps to add new rows until Unpayment Amt is 0 to signify that the payment for the trade has been completed and all payment has been received. For manual input, user needs to select company first and the corresponding contract number under the same company and ledger type (paid/received) will appear for convenience of user. All created items will be under unassigned list, once contract number has been assigned and saved, the item will auto appear under assigned table. User can click on Recalculate button if the Unpayment Amt is correct, then click save to save the correct values. User can click on Allocate button to split the payment item into multiple items and input the amount accordingly. Once saved, the table will reflect all the unsplit and split items for allocating to different contracts. User can repeat the same step to split the bigger payment items into smaller items if necessary. allocate function’s 3rd bottom table - show all contracts with same company, third party and purchase/sale

  5. Receive tab (refers to receiving invoice from counterparty to make payment, so it is a purchase contract and quantity and amount will be positive) refers to receive invoice, is for input of all payment items to counterparty. Once invoice is received from counterparty, user can upload the bank/payment statement into the table and Amount field will be filled. Uninvoice Amt = Contract Amt - Amount; Amt before tax = amt - tax amt. so if Unpayment Amt is not 0, it means that the payment to counterparty has not been fully settled. Repeat the same steps to add new rows until Unpayment Amt is 0 to signify that the payment for the trade has been completed and all payment has been paid. For manual input, user needs to select company first and the corresponding contract number under the company and ledger type (received/paid) will appear for convenience of user. All created items will be under unassigned list, once contract number has been assigned and saved, the item will auto appear under assigned table. User can click on Recalculate button if the Unpayment Amt is correct, then click save to save the correct values. User can click on Allocate button to split the payment item into multiple items and input the amount accordingly. Once saved, the table will reflect all the unsplit and split items for allocating to different contracts. User can repeat the same step to split the bigger payment items into smaller items if necessary. allocate function’s 3rd bottom table - show all contracts with same company, counter party and purchase/sale.

  6. Issue tab (refers to issuing invoice to counterparty to collect and receive payment; so it is associated with ps ledger; so it is a sales contract and quantity and amount will be negative). there will be 2 tables, first table shows all the contracts input in trades tab which has un inv amt or un inv qty not 0. so the uninv amt and un inv qty at the top will be matched to the inv amt and inv qty at the bottom of the table. you will first need to go to settings>company data to set up the invoice page which will appear in the items in the bottom table; product will be used to link the data in company data with the data in issue tab. in issue tab, to issue the invoice, search for the contract in the first table and click on the row and it will appear at the bottom table for further input. select the item from the dropdown list which is based on the company data invoice table in settings mentioned above. If there is only 1 product, the system will auto fill the item to the row accordingly; otherwise user will need to select from the drop down list. user can adjust the qty or price to adjust the amt which will affect the un inv amt (if un inv amt is not 0, it means the invoice is not settled fully yet. all contracts with un inv amt above 0 will remain in the top table for user to clear out the un inv amt at the bottom table. only the qty and price can be edited which will affect the amt, un inv amt, amt before tax and tax amt. Once saved, the contract will remain in the same unassigned table. Once user ticks the row and click on issue, the contract will be downloaded in an excel, and the contract will be shifted to the assigned table.

 

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

  1. New Physical Trades - Invoice: Receive Invoice tab

1: For Aggregate : after they upload 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

 

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

 

 

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.

 

 

Handle annual settlement

 

 

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

 

 

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 …

 

 

Short form for company name

 

 

Auto save function

 

 

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

 

 

PS Ledger - split multiple records one time

 

 

 

 

 

 

1 MAY 2023 - VERSION 3.1.4

Issue/Request

Type

User Guide

Jira Ticket

Issue/Request

Type

User Guide

Jira Ticket

  1. New Physical Trades - PS Ledger Receive page

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

 

Enhancement

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

  • in 3rd panel:

    1. Qty should be contract_actual_qty or qty

    2. Price should be contract_actual_price or price

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

    4. Un Payment Amt should be -4344

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

      1. 1st panel row amt should be update accordingly

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

  • select PSL or INVOICE row (Single select only)

  • click Allocate button (which replace SPLIT button)

  • pop up a new window (ensure big enough)

    1. three panels in the window

      1. show selected row

      2. splited rows if any

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

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

    2. update selected row balance amt

    3. update un_psl_amt or un_inv_amt

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

  • for TEST_1, TEST_2, BAL AMT should be 0

    contract amt = -200, PSL amt = -200

    BAL AMT = contract amt - PSL amt

  • after fully assigned, UN PAYMENT should be 0, not 200

  • after this done, when we return to contract page, PSL AMT of these 3 should be -200

    BAL AMT should be 0

  • modify amt of contracts in split, enter positive number, FE still show positive. Also, the sum is wrong

  • if I modify amt of these 3 contracts from top to bottom (TEST_1 to TEST_3), only one contact will move to bottom

  • after I tick all TEST_1, TEST_2, TEST_3 contacts, the balance of PSL 1771 shoud be -437900

    but after save, the remaining -437900 (PSL 1771) disappear bug1

    In assigned page,the UN PAYMENT of these three should be 0, since it has been fully assigned in split process. (-200 - (-200) = 0 )

  • LEDGER TYPE :RECEIVED

    1:amt is still positive

    2: after allocate, qty and un payment amt columns of sales contract are not negative, amt of psl are not negative

  • after tick contract, there is no un payment amt of psl

Enhancement

  1. Daily Statement - Scroll bar issue bug fixed

Enhancement