개요
Overview
EFC/LSS Collection Dashboard는 ICC에서 받은 DynamicList.CSV 기준으로 EFC/LSS 타리프 대비 실제 징수 여부를 확인하는 모니터링 화면입니다.
- EFC non-CN: 중국 외 기점 중 대상 목적지에 대해 EFC tariff 기대액과 실제 EFC 징수액을 비교합니다.
- LSS CN->JP: 중국 기점 일본 도착 건에 대해 LSS 인상분 기대액과 실제 LSS 징수액을 비교합니다.
- 주요 목적: 미징수, 부분징수, 초과징수, 수량확인 건을 빠르게 찾고 BL 단위 후속 확인 대상을 정리하는 것입니다.
추천 사용 방식: 먼저 Charge/Week/Status로 범위를 좁힌 뒤, Main Table에서 선적지 -> Lane -> 고객 순서로 내려가고, 마지막에 BL Exception에서 개별 BL을 확인합니다.
EFC/LSS Collection Dashboard monitors actual EFC/LSS collection against tariff expectations using ICC's DynamicList.CSV.
- EFC non-CN: compares expected EFC tariff vs actual EFC collection for eligible non-China origins.
- LSS CN->JP: compares expected LSS increase vs actual LSS collection for China-to-Japan shipments.
- Main objective: quickly identify missing, partial, over-collected, and quantity-check BLs for follow-up.
Recommended workflow: narrow the scope with Charge/Week/Status, drill down from Origin to Lane to Customer in the Main Table, then review BL-level details in BL Exception.
Google 로그인
Google Login
대시보드 본문은 회사 Google 계정으로 로그인한 뒤 표시됩니다.
Google 계정으로 로그인 버튼을 누릅니다.
- 회사 계정을 선택하고 Google OAuth 동의를 완료합니다.
- 이메일 도메인이
ekmtc.com이면 대시보드 데이터가 표시됩니다.
- 상단 우측 사용자 이름을 누르면 로그아웃됩니다.
참고: Google OAuth는 배포 URL인 https://jkpark-create.github.io/EFC_LSS_monitoring/에서 정상 동작합니다. 로컬 파일로 직접 열면 로그인 리디렉션이 동작하지 않습니다.
The dashboard body is displayed only after signing in with a company Google account.
- Click
Sign in with Google.
- Select your company account and complete the Google OAuth consent flow.
- If the email domain is
ekmtc.com, the dashboard data is shown.
- Click your user name in the top-right header to log out.
Note: Google OAuth works on the deployed URL, https://jkpark-create.github.io/EFC_LSS_monitoring/. It will not redirect correctly when opened as a local file.
빠른 사용 순서
Quick Start
- 데이터 최신 여부 확인: 헤더의 source meta에서 대상 row 수와 no-O/F 제외 row 수를 확인합니다.
- Charge 선택: 전체, EFC, LSS 중 확인할 대상을 선택합니다.
- Week 선택: 특정 주차를 보려면 Week 필터에서
W16처럼 선택합니다. 전체 흐름을 보려면 전체를 유지합니다.
- Status 선택: 미징수/부분징수 중심으로 follow-up 대상을 먼저 좁힙니다.
- Origin/Destination/Search 조합: 국가, POL, POD, 고객명, BL, route 등을 이용해 상세 범위를 좁힙니다.
- BL Exception 확인: Gap 절대값이 큰 BL부터 확인하고 ICC 또는 원본 파일에서 원인을 대조합니다.
- Check data freshness: review the source meta in the header for target rows and skipped no-O/F rows.
- Select Charge: choose All, EFC, or LSS.
- Select Week: choose a week such as
W16 for a specific week, or keep All for the full data range.
- Select Status: start with Missing or Partial to focus follow-up work.
- Combine Origin/Destination/Search: narrow the view by country, POL, POD, customer, BL, route, and vessel.
- Review BL Exception: start from BLs with the largest absolute gap and reconcile with ICC/source data.
필터 사용법
Filters
| 필터 | 설명 | 활용 팁 |
| Charge | 전체, EFC, LSS를 전환합니다. | LSS CN->JP만 볼 때는 LSS를 선택하면 CN-JP 건만 남습니다. |
| Layer | Main Table 집계 단계를 선적지, Lane, 고객, 영업사원으로 전환합니다. | 영업사원 레이어는 POL + Booking Shipper code 기준으로 -3W Booking Dashboard의 Salesman_POR를 매핑합니다. |
| Origin | 선적지 기준을 POL 또는 국가로 바꿉니다. | 국가 단위 트렌드는 국가, 현장 follow-up은 POL이 편합니다. |
| Customer | 고객 집계 기준을 booking shipper 또는 handling consignee로 바꿉니다. | 선적 요청 주체는 Shipper, 정산/수하인 이슈는 CNEE 기준으로 봅니다. |
| Month | 실적년 + 실적월 기준 월 필터입니다. | 다운로드 범위가 여러 달이면 특정 월만 분리할 수 있습니다. |
| Week | 실적년주차 기준 주차 필터입니다. | 금주 16주만 볼 때 W16, 누적은 전체를 선택합니다. |
| P/C | p/c 컬럼 기준 필터입니다. | Prepaid/Collect 성격 차이로 징수 패턴을 비교할 때 사용합니다. |
| Status | 정상, 부분징수, 미징수, 초과징수, 수량확인, 수량없음 필터입니다. | follow-up은 미징수/부분징수/수량확인부터 보는 것이 효율적입니다. |
| 영업사원 | -3W Booking Dashboard의 화주별 데이터에서 매핑된 영업사원 필터입니다. | 특정 영업사원의 미징수/부분징수 follow-up 목록을 바로 좁힐 때 사용합니다. |
| 선적지 | 선택된 Origin 기준에 맞춰 국가 또는 POL 목록이 표시됩니다. | Charge를 먼저 선택하면 해당 Charge의 선적지만 표시됩니다. |
| 도착지 | POD 기준 목적지 필터입니다. | EFC 목적지 tariff group과 실제 POD를 함께 확인할 때 사용합니다. |
| Search | BL, 고객, 영업사원, 국가, POL/POD, route, vessel, voyage, tariff category, status를 통합 검색합니다. | 부분 문자열 검색이므로 BL 일부, 고객 코드, 영업사원명 일부만 입력해도 됩니다. |
필터는 누적 적용됩니다. 예를 들어 Charge=LSS, Week=W16, Status=미징수, Search=SHA를 동시에 걸면 16주 SHA 관련 LSS 미징수 건만 남습니다.
| Filter | Description | Tip |
| Charge | Switches between All, EFC, and LSS. | Select LSS to isolate China-to-Japan LSS cases. |
| Layer | Changes the Main Table aggregation level: Origin, Lane, Customer, or Salesperson. | The salesperson layer maps Salesman_POR from the -3W Booking Dashboard by POL + Booking Shipper code. |
| Origin | Changes origin grouping between POL and Country. | Use Country for trend review and POL for operational follow-up. |
| Customer | Changes customer grouping between booking shipper and handling consignee. | Use Shipper for booking ownership and CNEE for consignee/settlement review. |
| Month | Filters by performance year-month. | Useful when the downloaded range spans multiple months. |
| Week | Filters by performance week. | Select W16 for week 16 only, or All for cumulative view. |
| P/C | Filters by the p/c column. | Use this to compare prepaid vs collect collection behavior. |
| Status | Filters Normal, Partial, Missing, Over, Quantity Check, and No Quantity statuses. | For follow-up, start with Missing, Partial, and Quantity Check. |
| Salesperson | Filters by salesperson mapped from the -3W Booking Dashboard shipper data. | Use it to isolate missing/partial follow-up for one salesperson. |
| Origin Select | Lists countries or POLs depending on the Origin basis. | Select Charge first to reduce the origin list to relevant values. |
| Destination | Filters by POD. | Use with tariff category to verify destination tariff mapping. |
| Search | Searches BL, customer, salesperson, country, POL/POD, route, vessel, voyage, tariff category, and status. | Partial search works, so a BL prefix, customer code, or salesperson fragment is enough. |
Filters are cumulative. For example, Charge=LSS, Week=W16, Status=Missing, and Search=SHA leaves only week-16 SHA-related missing LSS cases.
필터 활용 예시
Filter Use Cases
| 업무 목적 | 권장 필터 조합 | 확인 포인트 |
| 금주 미징수 BL 확인 | Week=W16, Status=미징수 | BL Exception에서 음수 Gap 절대값이 큰 순서로 확인합니다. |
| CN->JP LSS 누락 확인 | Charge=LSS, Status=미징수 또는 부분징수 | LSS actual이 0인지, 수량이 맞는지 확인합니다. |
| EFC 목적지별 리스크 확인 | Charge=EFC, Layer=Lane, Sort=Gap | 음수 Gap이 큰 목적지/POD부터 원인을 봅니다. |
| 고객별 follow-up 리스트 작성 | Layer=고객, Customer=Shipper, Status=부분징수/미징수 | 동일 고객 반복 여부와 매핑된 영업사원을 확인합니다. |
| 영업사원별 follow-up 정리 | Layer=영업사원 또는 영업사원 필터, Status=미징수/부분징수 | 담당자별 Gap과 대상 BL을 확인합니다. |
| P/C별 징수 패턴 비교 | P/C=P 또는 C, Status=전체 | 징수율과 미/부분 row 수를 비교합니다. |
| 특정 BL 또는 화주 확인 | Search에 BL 일부, 고객 코드, route, vessel 입력 | 다른 필터가 걸려 있으면 결과가 숨겨질 수 있으니 필요 시 전체로 돌립니다. |
| Purpose | Recommended Filters | What to Check |
| Find current-week missing BLs | Week=W16, Status=Missing | Start from the largest negative gaps in BL Exception. |
| Check CN->JP LSS gaps | Charge=LSS, Status=Missing or Partial | Verify whether actual LSS is zero and whether quantities are correct. |
| Review EFC destination risk | Charge=EFC, Layer=Lane, Sort=Gap | Investigate lanes/PODs with the largest negative gaps first. |
| Prepare customer follow-up list | Layer=Customer, Customer=Shipper, Status=Partial/Missing | Check repeated issues and the mapped salesperson for the same customer. |
| Prepare salesperson follow-up | Layer=Salesperson or Salesperson filter, Status=Missing/Partial | Review gap and target BLs by owner. |
| Compare P/C collection behavior | P/C=P or C, Status=All | Compare collection rate and under-collected row count. |
| Find a specific BL or customer | Type a BL fragment, customer code, route, or vessel in Search | Reset other filters if the expected row is hidden. |
KPI 해석
KPI Reading
| KPI | 의미 | 계산/해석 |
| 징수율 | Tariff 기대액 대비 실제 징수액 비율 | 실제 징수액 / Tariff 기대액. 95~105%는 정상 범위로 판단합니다. |
| Tariff 기대액 | 타리프 기준으로 받아야 할 금액 | 20갯수 * 20DRY tariff + 40갯수 * 40DRY tariff |
| 실제 징수액 | 원본에 입력된 실제 EFC 또는 LSS 합계 | EFC는 20 efc + 40 efc, LSS는 20 lss + 40 lss |
| Gap | 실제액과 기대액 차이 | 실제 징수액 - Tariff 기대액. 음수는 -$ 부족(shortfall), 양수는 +$ 초과징수로 표시합니다. |
| 대상 BL | 필터 후 남은 고유 BL 수 | 같은 BL이 여러 row로 나뉘어도 BL 수는 중복 제거됩니다. |
| TEU | 필터 후 대상 TEU 합계 | 원본 전체 teu 합계입니다. |
| KPI | Meaning | Calculation / Reading |
| Collection Rate | Actual collection vs tariff expectation | Actual / Expected. 95-105% is treated as normal. |
| Tariff Expected | Amount expected by tariff | 20 qty * 20DRY tariff + 40 qty * 40DRY tariff |
| Actual Collection | Actual EFC or LSS amount from the source | EFC: 20 efc + 40 efc, LSS: 20 lss + 40 lss |
| Gap | Difference between actual and expected | Actual - Expected. Negative values display as -$ shortfall; positive values display as +$ over-collected. |
| Target BL | Unique BL count after filtering | Duplicate BL rows are counted once. |
| TEU | Total TEU after filtering | Sum of source 전체 teu. |
테이블/드릴다운
Tables and Drilldown
Main Table
- 선적지 레벨: 국가 또는 POL 기준으로 전체 Gap과 징수율을 비교합니다.
- Lane 레벨: 선적지-도착지 조합으로 어느 lane에서 누락이 많은지 확인합니다.
- 고객 레벨: 특정 lane 안에서 booking shipper 또는 handling consignee별로 follow-up 대상을 확인하며, booking shipper 기준 매핑된 영업사원도 함께 봅니다.
- 영업사원 레벨: POL + Booking Shipper code로 매핑된 영업사원별 Gap, BL, TEU를 확인합니다.
행 클릭
선적지 행을 클릭하면 해당 선적지의 lane으로 이동하고, lane 행을 클릭하면 고객 레벨로 이동합니다. Breadcrumb의 전체 또는 선적지 버튼을 누르면 상위 레벨로 돌아갑니다.
정렬
컬럼 헤더를 클릭하면 해당 컬럼 기준으로 오름차순/내림차순 정렬됩니다. 상단 Sort 버튼의 Gap, Tariff, 징수율은 Main Table 정렬 기준을 빠르게 바꿀 때 사용합니다.
Main Table
- Origin level: compares gap and collection rate by country or POL.
- Lane level: identifies high-gap origin-destination combinations.
- Customer level: shows follow-up targets by booking shipper or handling consignee within a lane, including the salesperson mapped from booking shipper.
- Salesperson level: shows gap, BL count, and TEU by salesperson mapped with POL + Booking Shipper code.
Row Click
Click an origin row to move to lane level, then click a lane row to move to customer level. Use the breadcrumb buttons to return to a higher level.
Sorting
Click table headers to sort ascending/descending. The top Sort buttons, Gap, Tariff, and Collection Rate, quickly change the Main Table sort metric.
영업사원별 현황 / BL Exception
Salesperson Status / BL Exceptions
영업사원별 현황
기존 Top Gap 위치에는 현재 필터 기준의 영업사원별 징수 현황을 표시합니다. 상단 요약은 매핑된 업체수, 담당자 수, 전체 Gap을 보여주고, 표는 Gap이 큰 shortfall 담당자부터 모든 영업사원을 정렬해 표시합니다.
- 영업사원: -3W Booking Dashboard에서 POL + Booking Shipper code 기준으로 매핑된
Salesman_POR입니다.
- 업체수: 고유
Booking Shipper code 기준 업체 수입니다.
- 미징수 업체: 미징수 row가 있는 고유
Booking Shipper code 수입니다.
- 부분 업체: 부분징수 row가 있는 고유
Booking Shipper code 수입니다.
- Tariff / 징수 / Gap / 징수율: 영업사원별 금액과 징수율을 비교하는 핵심 지표입니다.
BL Exception
정상과 수량없음을 제외한 BL 중 Gap 절대값이 큰 순서로 최대 120건을 표시합니다.
- Status: 원인 분류를 빠르게 볼 수 있는 색상 pill입니다.
- BL / Booking Shipper / 영업사원 / Charge / POL / POD: ICC 또는 원본 파일에서 대조할 핵심 키입니다. Booking Shipper code와 매핑된 영업사원은 BL 바로 옆에 표시됩니다.
- 20 / 40 / Tariff / 징수 / Gap: 수량과 금액의 불일치 원인을 찾는 기본 컬럼입니다.
- Tariff Cat.: 적용된 tariff group입니다. 목적지와 group이 맞는지 확인합니다.
Salesperson Status
The former Top Gap area now shows salesperson-level collection status for the current filters. The summary shows mapped shipper count, owner count, and total gap; the table ranks all salespeople by the largest shortfall gap.
- Salesperson:
Salesman_POR mapped from the -3W Booking Dashboard by POL + Booking Shipper code.
- Shippers: unique
Booking Shipper code count.
- Missing Shippers: unique
Booking Shipper code count with missing rows.
- Partial Shippers: unique
Booking Shipper code count with partial rows.
- Tariff / Actual / Gap / Rate: key amount and collection metrics by salesperson.
BL Exception
Shows up to 120 non-normal BL rows, excluding Normal and No Quantity, sorted by absolute gap.
- Status: colored pill for quick issue classification.
- BL / Booking Shipper / Salesperson / Charge / POL / POD: key fields for ICC/source reconciliation. The booking shipper code and mapped salesperson are shown next to the BL.
- 20 / 40 / Tariff / Actual / Gap: primary columns to explain quantity and amount mismatch.
- Tariff Cat.: applied tariff group. Verify whether it matches the destination.
상태 기준
Status Rules
| Status | 기준 | 업무상 의미 |
| 정상 | 실제 징수액이 기대액의 95~105% 범위 | 추가 확인 우선순위가 낮습니다. |
| 미징수 | 기대액은 있으나 실제 징수액이 0 이하 | 최우선 follow-up 대상입니다. |
| 부분징수 | 실제 징수액이 기대액의 95% 미만 | 할인, 누락, 수량 차이를 확인합니다. |
| 초과징수 | 실제 징수액이 기대액의 105% 초과 | 중복 징수 또는 tariff 적용 차이를 확인합니다. |
| 수량확인 | 기대액은 0인데 실제 징수액이 있음 | 20/40 수량 누락 또는 원본 수량 컬럼을 확인합니다. |
| 수량없음 | 기대액도 실제액도 0 | Exception 목록에서는 제외됩니다. |
| Status | Rule | Business Meaning |
| Normal | Actual is within 95-105% of expected amount | Low follow-up priority. |
| Missing | Expected amount exists but actual collection is zero or below | Highest follow-up priority. |
| Partial | Actual is below 95% of expected amount | Check discount, missing charge, or quantity difference. |
| Over | Actual exceeds 105% of expected amount | Check duplicate collection or tariff basis difference. |
| Quantity Check | Expected is zero while actual collection exists | Check missing 20/40 quantity or source quantity fields. |
| No Quantity | Both expected and actual are zero | Excluded from the Exception list. |
Tariff 기준
Tariff Basis
| 구분 | 대상 | 20 DRY | 40 DRY |
| LSS CN->JP | origin country=CN, destination country=JP | USD 150 | USD 300 |
| EFC JAPAN | destination country=JP | USD 60 | USD 120 |
| EFC CHINA/HK/TAIWAN | destination country=CN/HK/TW | USD 40 | USD 80 |
| EFC SOUTH EAST ASIA | TH/VN/ID/MY/SG/PH/KH/MM | USD 40 | USD 80 |
| EFC INDIA/PAKISTAN (ISC) | IN/PK/LK/BD | USD 160 | USD 320 |
| EFC MIDDLE EAST | AE/OM/SA/BH/KW | USD 160 | USD 320 |
| EFC RED SEA | EG/JO 또는 JED/AQJ/SKN | USD 200 | USD 400 |
| EFC AFRICA / MEXICO | TZ/KE 또는 MX | USD 200 | USD 400 |
EFC 대상 제외 origin: origin country가 빈 값, CN, KR, JP, US인 EFC 건은 대상에서 제외됩니다. 단, CN->JP는 LSS 기준으로 별도 대상화됩니다.
| Category | Target | 20 DRY | 40 DRY |
| LSS CN->JP | origin country=CN, destination country=JP | USD 150 | USD 300 |
| EFC JAPAN | destination country=JP | USD 60 | USD 120 |
| EFC CHINA/HK/TAIWAN | destination country=CN/HK/TW | USD 40 | USD 80 |
| EFC SOUTH EAST ASIA | TH/VN/ID/MY/SG/PH/KH/MM | USD 40 | USD 80 |
| EFC INDIA/PAKISTAN (ISC) | IN/PK/LK/BD | USD 160 | USD 320 |
| EFC MIDDLE EAST | AE/OM/SA/BH/KW | USD 160 | USD 320 |
| EFC RED SEA | EG/JO or JED/AQJ/SKN | USD 200 | USD 400 |
| EFC AFRICA / MEXICO | TZ/KE or MX | USD 200 | USD 400 |
EFC excluded origins: EFC rows are excluded when origin country is blank, CN, KR, JP, or US. CN->JP is handled separately under LSS.
ICC 데이터 갱신
ICC Data Updates
ICC 다운로드 조건
| 항목 | 설정값 |
| Document Name | [영업팀] LSS & EFC 징수금액조회 |
| 시작년주 | 최근 4개 주 기준 시작 주차. 예: 202613 |
| 종료년주 | ICC 금주. 2026-04-21 기준 금주가 16주이면 202616 |
| 조직 | O |
| 구분 | D |
자동 갱신 흐름
- ICC에서 조건을 입력하고 Excel Down을 실행합니다.
- 다운로드 파일을
DynamicList.CSV로 변환/교체합니다.
- -3W Booking Dashboard의
dist/data.json에서 POL + Booking Shipper code 기준으로 Salesman_POR를 매핑합니다.
build_dashboard.py가 index.html, dashboard.html, data.json을 다시 생성합니다.
- Windows 작업 스케줄러가 매일 오전 8시와 오후 1시에 실행하며, 변경된
index.html/data.json은 GitHub Pages로 배포합니다.
수동으로 이미 받은 파일만 반영할 때는 .\run_icc_daily_update.ps1 -DownloadFile ".\downloads\DynamicList.xlsx" 형식으로 실행할 수 있습니다. 스케줄 로그는 logs/ 폴더에 저장되고, 로그인 후 화면은 data.json을 fetch해서 렌더링합니다.
ICC Download Conditions
| Item | Value |
| Document Name | [영업팀] LSS & EFC 징수금액조회 |
| Start Year-Week | Start week for the latest 4-week window. Example: 202613 |
| End Year-Week | Current ICC week. If current week is week 16 as of 2026-04-21, use 202616 |
| Organization | O |
| Division | D |
Auto Update Flow
- Enter the ICC conditions and run Excel Down.
- Convert/replace the downloaded file as
DynamicList.CSV.
- Map
Salesman_POR from the -3W Booking Dashboard dist/data.json by POL + Booking Shipper code.
build_dashboard.py rebuilds index.html, dashboard.html, and data.json.
- Windows Task Scheduler runs the update daily at 08:00 and 13:00, then deploys changed
index.html/data.json to GitHub Pages.
To apply an already downloaded file manually, run .\run_icc_daily_update.ps1 -DownloadFile ".\downloads\DynamicList.xlsx". Scheduled run logs are saved under logs/. After login, the page fetches data.json and renders the dashboard.
데이터 주의사항
Data Cautions
- O/F 없는 행 제외:
20 o/f와 40 o/f가 모두 빈칸 또는 0이면 모수에서 제외합니다.
- 합계 행 제외: 원본 마지막 합계 행처럼 실적년/월이 없는 행은 자동 제외합니다.
- 효력일 기준: 원본에 ETD POL 일자가 없으므로 행 단위 효력일 제외는 적용하지 않습니다.
- RF/RH 할증: 원본에 RF/RH 여부 컬럼이 없어 50% 할증은 계산에 반영하지 않습니다.
- 수량확인: 기대액 0인데 실제 징수액이 있는 경우, tariff 오류라기보다 20/40 수량 누락 가능성이 있으므로 원본 수량부터 확인합니다.
- No-O/F rows excluded: rows with both
20 o/f and 40 o/f blank or zero are excluded.
- Total row excluded: rows without performance year/month, such as source total rows, are skipped automatically.
- Effective date: row-level effective-date exclusion is not applied because the source has no ETD POL date.
- RF/RH uplift: 50% RF/RH uplift is not applied because the source has no refrigerated cargo flag.
- Quantity Check: when expected is zero but actual exists, check missing 20/40 quantity first before treating it as tariff error.
FAQ
FAQ
Q. 징수율이 100%를 넘는 것은 오류인가요?
반드시 오류는 아닙니다. 실제 징수액이 기대액보다 5% 초과하면 초과징수로 표시하며, 중복 징수, tariff 적용 차이, 수량 차이를 확인해야 합니다.
Q. Search로 BL을 입력했는데 안 보입니다.
다른 필터가 함께 적용되어 숨겨졌을 수 있습니다. Charge, Week, Status, 선적지, 도착지를 전체로 돌린 뒤 다시 검색합니다.
Q. 선적지 필터 목록이 예상보다 적습니다.
Charge 필터가 먼저 적용됩니다. 예를 들어 LSS를 선택하면 CN->JP 대상 선적지만 남습니다.
Q. 고객 기준 Shipper와 CNEE는 언제 바꾸나요?
부킹 주체별 follow-up은 Shipper, 수하인/정산 주체별 패턴 확인은 CNEE가 더 적합합니다.
Q. Is a collection rate above 100% always an error?
Not necessarily. When actual exceeds expected by more than 5%, it is marked as Over. Check duplicate collection, tariff basis difference, or quantity mismatch.
Q. I searched a BL but cannot find it.
Other filters may be hiding it. Reset Charge, Week, Status, Origin, and Destination to All, then search again.
Q. Why is the origin filter list shorter than expected?
The Charge filter is applied first. For example, selecting LSS leaves only CN->JP target origins.
Q. When should I switch Customer from Shipper to CNEE?
Use Shipper for booking-owner follow-up, and CNEE for consignee or settlement-pattern review.