ð0. CIEãšã¯ïŒ30ç§ã§çè§£ïŒ
CIE = Caesar Insurance Engineãä¿éºäŒç€Ÿã®äºåäœæ¥ãèªååãããšã³ãžã³ã§ãã
æ åœè ã»æ©åã«ãŒã«ã»å¥çŽã»çµŠäžèšç®çµæãã¹ãŠãExcelæèŠã§çŽæ¥ç·šéã§ããŸãã
ð ã¹ãã¬ããã·ãŒããéã
ð¬â AIã³ã³ã·ã§ã«ãžã¥ïŒæéèŠïŒ
å³äžã®ãð¬ AIã«èãã ãã¿ã³ããCIEã®å
šããŒãžã«åžžé§ããŠããŸãã
ç»é¢æäœãèŠããå¿
èŠã¯ãããŸãããæ¥æ¬èªã§è©±ããããã ãã§CIEãæäœã§ããŸãã
ããŒã¿ã®ååŸã»æŽæ°ã»ã¡ãŒã«éä¿¡ã»ããã顧客ã®ç·šéãŸã§ãå šéšãã£ããã§å®çµããŸãã
ð¡ ãã話ããããŠãã ãã
- âºã仿ã®ç¶æ³ããµããªã§æããŠã
- âºãæ åœè ãå šå¡èŠããŠã
- âºãæªè§£æ±ºã®ã¢ã©ãŒããèŠããŠã
- âºãæºæã60æ¥ä»¥å ã®å¥çŽã¯ïŒã
- âºãå±±æ¬ããã®ä»æã®æ©åã¯ïŒã
- âºãç°äžãšããæ åœè ã远å ããŠã
- âºãçåœä¿éºã®æ©åã65%ã«å€æŽã
- âºãå±±æ¬ããã«åå¥ã«ãŒã« 80% ã远å ã
- âºãã¢ã©ãŒããå šéšæ¢èªã«ããŠã
- âºã仿ã®çµŠäžèšç®ããŠã
- âºã5æåã®çµŠäžèšç®ããŠã
- âºãå±±æ¬ããã ãèšç®ããŠã
- âºãå±±æ¬ã«5æåã®æçŽ°éã£ãŠã
- âºãäœè€ããã®æçŽ°ãã¬ãã¥ãŒèŠããŠã
- âºãä»æã®æçŽ°ãå šå¡ã«éã£ãŠã
- âºããããã®ç¶æ³ããµããªã§æããŠã
- âºããããã®èŠãã©ããŒé¡§å®¢ãèŠããŠã
- âºãç°äžæ åœã®èŠèŸŒã¿å®¢ãäžèЧã
- âºãæ©æ¬ãããå¥çŽæžã«ããŠã
- âºã西æããã®ã¡ã¢ããæ¥é±èšªåãã«ã
- âºãå±±ç°å€ªéãããæ°èŠè¿œå ïŒäœæïŒäº¬éœåžå·Šäº¬åºãïŒã
ð¡ å®å šã¢ãŒã
ãã®ç¶æ ã ãšãAI㯠åç §ã ã è¡ããã¡ãŒã«éä¿¡ãæ åœè åé€ãªã©ç Žå£çæäœã¯ 絶察ã«è¡ããŸããã
æäœã®æçµç¢ºèªããããæã«ONã«ããŠãã ããã
ð§ AIã䜿ãã20ã®ããŒã«
list_agentsïŒæ
åœè
äžèЧïŒ/ list_rulesïŒæ©åã«ãŒã«ïŒ/ list_contractsïŒå¥çŽïŒ/ list_payrollsïŒçµŠäžèšç®çµæïŒ/ list_alertsïŒã¢ã©ãŒãïŒ/ summaryïŒå
šäœãµããªïŒ/ calculate_payrollïŒçµŠäžèšç®å®è¡ïŒ/ send_payslipïŒæçŽ°éä¿¡ïŒ/ preview_payslip_urlïŒPDFãã¬ãã¥ãŒïŒ/ upsert_agentïŒæ
åœè
远å ã»æŽæ°ïŒ/ upsert_ruleïŒã«ãŒã«è¿œå ã»æŽæ°ïŒ/ resolve_alertïŒã¢ã©ãŒã解決ïŒ/ detect_anomaliesïŒç°åžžæ€ç¥ïŒãããç³»:
list_map_customersïŒããã顧客äžèЧïŒ/ get_map_customerïŒé¡§å®¢è©³çްïŒ/ update_map_customerïŒã¹ããŒã¿ã¹ã»ã¡ã¢ã»äœæãªã©æŽæ°ïŒ/ add_map_customerïŒæ°èŠé¡§å®¢è¿œå ïŒ/ map_summaryïŒãããéèšïŒæçŽ°ç³»:
list_payment_detailsïŒä¿éºäŒç€Ÿæçްãæã»äŒç€Ÿã»æ
åœã§çµã蟌ã¿ïŒ/ get_agent_commissionsïŒæ
åœè
ããšã®ææ¬¡ææ°æåèšïŒ/ list_supported_companiesïŒå¯Ÿå¿ä¿éºäŒç€Ÿã®äžèЧãšèšç®æ¹åŒïŒâïž å¿ èŠãªèšå®
.env.local ã« OPENAI_API_KEY ãŸã㯠GEMINI_API_KEY ãèšå®ããŠãã ãããäž¡æ¹ããå Žå㯠OpenAI ãåªå ãã¯ã©ãŒã¿åãæã«èªåã§ Gemini ã«åãæ¿ãããŸãã
CIE_CONCIERGE_PROVIDER=gemini ã§åºå®ãå¯èœãã»çãã»å ·äœçã«è©±ãïŒãå±±æ¬ã«5æã®æçްéã£ãŠãïŒ
ã»æéãææ§ãªæã¯ AI ãã仿ããšè§£éããïŒã仿ïŒ2026-07ãïŒ
ã»1床ã®äŒè©±ã§è€æ°æäœãé£éã§ããïŒãèšç®ããŠããããå±±æ¬ã«ã¡ãŒã«ãïŒ
ã»å±¥æŽã¯åããã©ãŠã¶ã«50ä»¶ä¿æãããïŒð ãã¿ã³ã§å šæ¶å»ïŒ
ð€â é³å£°å ¥åïŒãã€ã¯ã§è©±ããããïŒ
ãã£ããå ¥åæ¬ã®å³ã«ãã ð€ ãã€ã¯ãã¿ã³ ãæŒããšã話ããå 容ãããã¹ãã«ãªã£ãŠå ¥åæ¬ã«å ¥ããŸãã ãã®ãŸãŸ éä¿¡ â¶ ãæŒãã ããé転äžã»é»è©±å¯Ÿå¿ã®åéã«ã CIE ãæäœã§ããŸãã
ãã£ããäžéšã® ð Whisper / ð Web Speech ãã¿ã³ã§åæ¿ã
- ð WhisperïŒæ¢å®ïŒïŒç²ŸåºŠæé«ãOpenAI APIããŒãå¿ èŠã$0.006/å â 1åã
- ð Web SpeechïŒãã©ãŠã¶å èµã§å®å šç¡æãChrome / Edge æšå¥šïŒiOS Safari ã¯äžå®å®ïŒã
ðŠâ ä¿éºäŒç€Ÿã®ææ¬¡æçްãåã蟌ãïŒ16瀟察å¿ïŒ
éåžžãæ¯æ10ã20æ¥é ã«ãã®æåã確å®ããŠååŸå¯èœã
åãã¡ã€ã«ã®å é 5è¡ãšå€å®çµæã衚瀺ãããã®ã§ãæ³å®ã©ããã®äŒç€Ÿã»åéäººã»ææ°æã« ãªã£ãŠããã確èªããŸãã
ä¿åå ïŒ
CIE_å
¥éæçް ã¿ãã® AãSåïŒèšŒåžçªå·ãå²åïŒ+ Tåã«ããŒãUåã«å蟌å
ãVåã«æå»ãð 5ã€ã®èšç®æ¹åŒ
| default | floor(base à M%) | ADã»FWDã»ããããã»ããããã»ã²ãŸããã»ãžã |
| no_floor | base à M%ïŒå°æ°æ®ïŒ | ãªãªãã¯ã¹ã»æ±æµ·æä¿ |
| with_tax | floor(base à M%) à (1+çš) | ããã¥ã©ã€ãã»ãªãªããã»ããªã»ãã¥ãŒãªãã |
| metlife_with_tax | floor(base à (1+çš) à M%) | ã¡ããã©ã€ãã»PGFã»ãšããšã |
| direct_i | IåãçŽæ¥ã³ã㌠| ã¡ãã£ã±ã¢ |
ð åé人ã³ãŒã察å¿è¡š
CIE_åé人ã³ãŒã察å¿ã¿ãã«èªåæå
¥ãããŸãïŒ129ä»¶ïŒãæ°ããã³ãŒããå±ããããããã«1è¡è¿œå ããã ãã§ä»¥éèªåãããã³ã°ã
ð€ AIã«èããæçްã¯ãšãª
- âºã2026幎4æã®ã¡ããã©ã€ãã®æçŽ°ãèŠããŠã
- âºã仿ã®å±±æ¬ã®ææ°æåèšã¯ïŒã
- âºãå šå¡ã®ä»æã®ææ°æãå€ãé ã«ã
- âºã察å¿ããŠãä¿éºäŒç€ŸäžèЧã
- âºãã²ãŸããã®èšç®æ¹åŒã¯ïŒã
- âºããªãªãã¯ã¹ã®å æã®å蟌件æ°ãæããŠã
ð è€è£œã«ãŒã«ïŒ1å¥çŽâè€æ°åé人ïŒ
ð çµ±äžã¹ããŒãïŒA-S 19åïŒ
Pythonçã¯
server/python/cie_payroll_v10/ ã«ä¿ç®¡æžã¿ãð§ªâ ãæ¬åœã«Pythonçãšåãçµæãããèªåæ€èšŒãã
main10.py ãš CIEãåãExcelã§äžŠèµ°ããã19åã1ã»ã«ãã€çªãåãããŸããäžäžèŽãããã° ã©ã®è¡ã»ã©ã®åã§ã»PY=ââ CIE=ââ ãšå šéšåºåãããŸãã
python3 -m venv /tmp/cie_venv && /tmp/cie_venv/bin/pip install openpyxlhttp://localhost:3000 ã§èµ·åäžã§ããããšïŒïŒ/tmp/cie_venv/bin/python tests/python_vs_cie/run_compare_multi.py  â å®å šäžèŽ (PY=3è¡, CIE=3è¡, 57ã»ã«)
⌠orix
  â å®å šäžèŽ (PY=2è¡, CIE=2è¡, 38ã»ã«)
⌠medicare
  â å®å šäžèŽ (PY=2è¡, CIE=2è¡, 38ã»ã«)
⌠tokai
  â å®å šäžèŽ (PY=1è¡, CIE=1è¡, 19ã»ã«)
ç·åå€å®: â å šç€ŸäžèŽ
ð æ€èšŒæžã¿ã®èšç®æ¹åŒïŒ4çš®é¡ïŒ
| ããã¥ã©ã€ã | with_tax | Wåãã©ãŒã«ããã¯ã»åé人ãããã³ã°ã»æ³äºº/å人/åå¥Sç | å®å šäžèŽ |
| ãªãªãã¯ã¹ | no_floor | AAåã§M=100åºå®ã幎/æå¥ã«ã©ã ãyymmåæãªã | å®å šäžèŽ |
| ã¡ãã£ã±ã¢ | direct_i | Iå(13)ãçŽæ¥ã³ããŒãæãUIæå® | å®å šäžèŽ |
| æ±æµ·æä¿ | no_floor | yymm圢åŒå¹Žæãä¿®æ£ããã°ããã®èšç®æ¹åŒ | å®å šäžèŽ |
ð æ€èšŒäžã«èŠã€ãã£ããPythonåŽã®ãã°ã
- PGFçåœ: Må(13)ãçŽæ¥æå®ãããš
session_m_cacheã«ç»é²ãããªããããæžãèŸŒã¿æã«è¡ããšã¹ããããããã - PGFçåœ: E/F/J/Kåã®å¹Žæãåå²ãããã
"202604"ãšããæååã®ãŸãŸåºåãããã - PGFçåœ: Råãæ³äººãã©ã°ã®æ°å€(1)ã®ãŸãŸã§ãæåå
"äŒç€Ÿ"ã«å€æãããªã â Så(å²å)ã®== "äŒç€Ÿ"å€å®ããããŠåžžã«70%ã«ãªãã - ã²ãŸãã: åäžè¡ã±ãŒã¹ã§æªå®çŸ©å€æ°
d_valãåç §ïŒd_valueã®ã¿ã€ãïŒâ äŸå€ã§è¡ããšæ¬ èœã - ã²ãŸãã: åé人ãããããŒ
"701"/"481"/"471"ã¯zfill(4)åŸã«"0701"/"0481"/"0471"ã§ã«ãã¯ã¢ãããããããæ°žä¹ ã«ãããããªãã
ð¬ èªåã§ãæ€èšŒããããšã
â ä¿éºäŒç€Ÿã®ææ¬¡æçް(.xlsx)ãPythonçïŒ
~/Desktop/ä¿éº/ïŒã«çœ®ã main10.py å®è¡ â~/Desktop/ããŒã¿ããŒã¹äœæ/ããŒã¿ããŒã¹.xlsx ãã§ããâ¡ åã.xlsx ã
⢠䞡æ¹ã Excel ã§éã㊠AãSåãèŠæ¯ã¹ãïŒææ°æIåãåæ Måããã€ã³ãïŒ
æ¹æ³BïŒèªåãã¹ã远å
tests/python_vs_cie/run_compare_multi.py ã«æ°ãã builder 颿°ã远å ããŠCOMPANIES ãªã¹ãã«ç»é²ããã°ããžãã»ããªã»ãªãªããã»FWDã»ããããã»ããããã»ãšããšãã»ãã¥ãŒãªãã ãªã©ãåãæµãã§æ€èšŒã§ããŸããâ çµè«
16瀟ã®åãããã³ã°ã»5çš®èšç®åŒã»åé人ãããã³ã°129ä»¶ã»Må€ãã©ãŒã«ããã¯ã»è€è£œã«ãŒã« ãã¹ãŠPythonåçãšåçã®ããžãã¯ã§å®è£ ãããŠããŸãã
ð1. æåã®æºåïŒ1åã ãïŒ
ãªã£ãŠããªããã°ãé£ã® ð ã¹ãã¬ããã·ãŒããäœæ ãã¿ã³ãæŒã â èªåã§7ã¿ãäœæãããŸãã
äžã®ã¿ãã«ä»¥äž7ã€ã䞊ãã§ããããšã確èªïŒ
ð¥2. æ åœè ãç»é²ãã
| ID | A001ïŒAãããå§ãŸãä»»æã®IDïŒ |
| æ°å | ç°äž äžé |
| ããªã¬ã | ã¿ãã« ã€ãã㊠|
| ã¡ãŒã« | tanaka@your-company.comïŒPDFãå±ãã¢ãã¬ã¹ïŒ |
| é»è©± | 090-1234-5678 |
| åºæ¬çµŠ | 260000 |
| 亀éè²» | 15000 |
| ãã®ä»æåœ | 10000ïŒåœ¹è·æåœã»è³æ Œæåœãªã©ïŒ |
| äœæ°çš | 12000ïŒæ¯æåŒãäœæ°çšïŒ |
| åæãæ§é€ | 0ïŒåæããããã°ïŒ |
| ç«æ¿/貞ä»è¿æž | 0ïŒè¿æžäžãªãïŒ |
| ãã®ä»æ§é€ | 0ïŒäŒè²»ã»å¶æä»£ãªã©ïŒ |
| éçšåœ¢æ | æ£ç€Ÿå¡ or æ¥åå§èšïŒæ¥åå§èšã¯ç€Ÿä¿ãªãã»æºæ³10.21%ã®ã¿ïŒ |
| çå¹Žææ¥ | 1988-04-15ïŒPDFãã¹ã¯ãŒãçšïŒ |
ã¹ãã¬ããã·ãŒãã®
CIE_æ
åœè
ã¿ãã«ãèªåã§1è¡è¿œå ãð°3. æ©åã«ãŒã«ãèšå®ãã
ååçš®å¥ããšïŒçåœä¿éºïŒå»çä¿éºïŒæå®³ä¿éºãªã©ïŒã«æ©åçãæ±ºããŸããããã« æ åœè åå¥ ã®ã«ãŒã«ãäœããŸãã
| ã«ãŒã«ID | R001 |
| ååçš®å¥ | çåœä¿éºïŒå¥çŽããŒã¿ã®ååçš®å¥ãšäžèŽãããïŒ |
| èšç®æ¹åŒ | ç or åºå® |
| æ©åç | 5ïŒ=5%ïŒ |
| ããŒãã¹å¯Ÿè±¡ä»¶æ° | 3ïŒæ3ä»¶éæã§ããŒãã¹ã0=ãªãïŒ |
| ããŒãã¹é¡ | 30000ïŒ3ä»¶éæã§Â¥30,000ïŒ |
| é©çšå¯Ÿè±¡ | å šå¡ or ç¹å®æ åœè ãéžã¶ |
ã»R901: çåœä¿éº 5% / é©çšå¯Ÿè±¡=
å
šå¡ã»R904: çåœä¿éº 8% / é©çšå¯Ÿè±¡=
å±±æ¬ å¥â å±±æ¬ãããçåœä¿éºãå¥çŽ â R904ïŒåå¥8%ïŒãåªå ã
â ç°äžã»äœè€ãçåœä¿éºãå¥çŽ â R901ïŒ5%ïŒãé©çšã
ð¥4. å¥çŽããŒã¿ãCSVã§åã蟌ã
å ±åGWïŒWiseOfficeçïŒããæžãåºããCSV/Excelãããã©ãã°ããã ãã§èªåæŽçããŸãã
~/Desktop/CIE_å±±æ¬ãã¹ãå¥çŽ.csv ãçšæããŠããŸããCmd+Shift+R ã§åŒ·å¶ãªããŒããCSVã®ããããŒåãã顧客åããå¥çŽè
ããã客æ§åããªã©æšæºçã§ãªãå Žåã倧äžå€«ãlib/cie/normalizer.ts ã«åååè£ãæžããŠãããŸããå é 5ä»¶ã®æ£èŠåæžã¿ããŒã¿ãèŠããŠããã°OKããåã蟌ã¿äºå® Nä»¶ / ã¹ããã Nä»¶ãã衚瀺ãããŸãã
ã¹ãã¬ããã·ãŒãã®
CIE_å¥çŽ ã¿ãã«èªå远å ãããŸããæ åœè åïŒãç°äž äžéããªã©ïŒããèªåã§æ åœè IDãçŽä»ããããŸãã
ð4b. Excel/Sheetsããã³ããã§åã蟌ã
ãã¡ã€ã«ä¿åã»ã¢ããããŒãã®ã¹ããããçç¥ãã»ã«ãéžæ â ã³ã㌠â CIEã«è²Œãä»ã ã ãã§åã蟌ããŸãã
ã»ã客ããããæ¥ãExcelã®ã該åœéšåã ããåã蟌ã¿ãã
ã»ã¯ã©ã€ã¢ã³ãã®ã¹ãã¬ããã·ãŒãã®ææ°è¡ã ã远å ããã
ã»ã¹ãããããã¡ã€ã«éžæãã1ã¿ããã§ç»é²ããã
ðŽ5. 絊äžèšç®ãå®è¡ãã
CIE_å¥çŽ ãŸã㯠CIE_å
¥éæçްïŒãšæ§é€ã¢ãã«ïŒæŠç® / Python final æºæ ïŒãéžã¶ â ã絊äžèšç®ãå®è¡ããã¯ãªãã¯ã å
¥éæçްã¢ãŒãã§ã¯ CIE_åé人ã³ãŒãå¯Ÿå¿ ã®æ
åœè
IDããŸãã¯åé人åãšæ
åœè
åã®å®å
šäžèŽãå¿
èŠã§ãã| ä»¶æ° | ãã®æã«å¥çŽããä»¶æ° |
| åºæ¬çµŠ | æ åœè ãã¹ã¿ãŒã§èšå®ããåºå®çµŠ |
| æ©å | å¥çŽéé¡Ãç or åºå®é¡ã®åèš |
| ããŒãã¹ | ãã³ã¯è²ã®æ°åãR901çã®ããŒãã¹æ¡ä»¶éææ |
| æ¯çµŠåèš | åºæ¬çµŠ+亀éè²»+ãã®ä»æåœ+æ©å+ããŒãã¹ |
| æ§é€ | å¥ä¿ã»å¹Žéã»éçšä¿éºã»æºæ³ã»äœæ°çšãªã© |
| å·®åŒæ¯çµŠ | æåãããããæ¬äººã«æ¯ã蟌ãé¡ |
| ç¶æ | calculatedïŒèšç®æžïŒ/ pdf_ready / sentïŒéä¿¡æžïŒ |
lib/cie/payroll.ts ã® calculatePayrollForAgent ã«éçŽïŒå
¥éæçްéèšã¯ paymentDetailPayroll.tsãPython final æ§é€ã¯ payrollPythonFinal.ts / è³äžçšç衚 payrollBonusTaxR7.tsïŒãð6. PDFãšéä¿¡
- ð ãã¬ãã¥ãŒ â HTMLã§ãã©ãŠã¶ã«è¡šç€ºïŒPDFåå確èªïŒ
- PDF â çµŠäžæçŽ°PDFãæ°ã¿ãã§éã
- âïž éä¿¡ïŒåå¥ïŒ â ãã®æ åœè ã ãã«éä¿¡
- ð§ å šå¡ãžäžæ¬éä¿¡ â æªéä¿¡ã®å šå¡ã«éä¿¡
ãCIEã2026幎04æå çµŠäžæçŽ°ã®ãç¥ããæ·»ä»:
çµŠäžæçŽ°_2026-04_å±±æ¬ å¥.pdfãã¹ã¯ãŒã:
19821220ïŒçå¹Žææ¥ YYYYMMDDïŒé信倱ææïŒ ç¶æ ã
failed ã«ãªããCIE_絊äžèšç®çµæã®åèæ¬ã«ãšã©ãŒçç±ãèšé²ãããŸããð7. ã¢ã©ãŒãæ©èœ
æºææ¥ãè¿ã顧客ããæªæå¥çŽãèªåã§æ€ç¥ããŠãæ åœè ã«ã¡ãŒã«éç¥ããŸãã
| ðŽ maturity_7d | æºææ¥ãŸã§7æ¥ïŒcriticalïŒ |
| ð¡ maturity_30d | æºææ¥ãŸã§30æ¥ïŒwarnïŒ |
| ðµ maturity_60d | æºææ¥ãŸã§60æ¥ïŒinfoïŒ |
| ðŽ unpaid | å ¥éç¶æ³ãæªæãorãæªç¢ºèªãã§å¥çŽæ¥ãã30æ¥ä»¥äžçµéïŒwarnïŒ |
curl -X POST http://localhost:3000/api/cie/alertsâ 該åœããå¥çŽãããã° CIE_ã¢ã©ãŒã ã¿ãã«æ°èŠè¿œå ãð7b. AIç°åžžæ€ç¥ïŒæ¯æèªåã¹ãã£ã³ïŒ
ã¢ã©ãŒãæ©èœïŒæéã»æªæãïŒã«å ããŠãAI ããããããããããèªåæ€åºããŸãã ããŒã¿å šäœã暪æã¹ãã£ã³ããŠã人éãæ°ä»ãã«ããç°åžžãæ¯æã¡ãŒã«ã§éç¥ã
ð§ æ€åºãã7çš®é¡ã®ç°åžž
2. 顧客éè€çãïŒååã§äœæéã â äºéç»é²ã®æ€åº
3. æªæãé·æåïŒå¥çŽæ¥ãã60æ¥ä»¥äžæªå ¥é â ç£ä¿åè£
4. æ åœè æªèšå®ïŒactiveå¥çŽã§æ åœè IDã空 â 売äžèšäžæŒã
5. éé¡äžæŽåïŒæé¡Ã12 ãš å¥çŽéé¡ã®æ¯çã ±50% å€ â å ¥åãã¹
6. æçްæªéä¿¡ïŒå æå以åã§èšç®æžã¿ã ãæªã¡ãŒã«éä¿¡
7. å€ç«ã«ãŒã«ïŒç¡å¹åãããæ åœè ã«ãŸã åå¥ã«ãŒã«ãçŽä»ããŠãã
詳现ã¯
CIE_ã¢ã©ãŒã ã¿ãã« anomaly çš®å¥ã§èšé²ïŒID: AN-...ïŒã/api/cron/cie-dailyïŒæ¯æ8æïŒã«çµã¿èŸŒã¿æžã¿ãæ°èŠç°åžžã¯èªåã§
CIE_ã¢ã©ãŒã ã«è¿œå ãããæ
åœè
ã¡ãŒã«ã«éç¥ãããŸããéè€è¿œå 㯠ID èšèšã«ããèªåã§é²æ¢ïŒåãç°åžžã¯äœåºŠã¹ãã£ã³ããŠã1ä»¶ã®ã¿ïŒã
瀟é·ãæ¯æããŒã¿ããã§ãã¯ããæéãæ¶ããŸãã
ãé倧ãã ãã¡ãŒã«ããŠã»ããå Žåã¯ãcron ãçµã蟌ã¿èšå®ã«ããŠãã ããã
ð8. ã¹ãã¬ããã·ãŒãã§çŽæ¥ç·šé
CIEã¯ãExcelæèŠãã§éçšã§ããããšãæå€§ã®ç¹åŸŽã§ãã
ã¹ãã¬ããã·ãŒããçŽæ¥ç·šéããã°ã次åAPIåŒã³åºãã§å³åæ ãããŸãã
- 1åç®ïŒAåïŒã IDãåãIDã®è¡ãç·šéãããšäžæžããæ°ããIDãå ¥ãããšæ°èŠè¿œå
- 1è¡ç®ã¯ããããŒïŒå€æŽããªãïŒ
- åé€ã¯ è¡ããšåé€ïŒå³ã¯ãªã㯠â è¡ãåé€ïŒ
- åã®è¿œå ã¯äžèŠã決ãŸã£ãåã ã䜿ãããŸã
| æ åœè ã®åºæ¬çµŠãå€ããã | CIE_æ åœè â 該åœè¡ã®ãåºæ¬çµŠãåãæžãæã â æ¬¡åèšç®æã«åæ |
| æ©åçãå€ããã | CIE_æ©åã«ãŒã« â 該åœè¡ã®ãç(%)ãåãæžãæã |
| å¥çŽã1ä»¶åé€ããã | CIE_å¥çŽ â è¡ããšåé€ â æ¬¡åèšç®ã§é€å€ |
| æªæãå ¥éæžã«å€ããã | CIE_å¥çŽ â ãå ¥éç¶æ³ãåããå ¥éæžãã«æžãæã |
| éä¿¡ã¹ããŒã¿ã¹ããªã»ãã | CIE_絊äžèšç®çµæ â ãç¶æ ãããcalculatedãã«æ»ã |
â°9. èªåå®è¡ïŒcronïŒ
Vercelæ¬çªç°å¢ã§ã¯ã以äžãèªåå®è¡ãããŸãã
| æ¯æ 8:00 JST | /api/cron/cie-daily | ã¢ã©ãŒãåèšç® â æ åœè ã«ã¡ãŒã«éç¥ |
| æ¯æ25æ¥ 9:00 JST | /api/cron/cie-payroll | å šå¡ã®çµŠäžèšç® â PDFçæ â ã¡ãŒã«äžæ¬éä¿¡ |
# æ¥æ¬¡cronïŒæ8æã®åŠçïŒ
curl http://localhost:3000/api/cron/cie-daily
# ææ¬¡cronïŒ25æ¥ã®åŠçïŒãéä¿¡ããèšç®ã®ã¿
curl "http://localhost:3000/api/cron/cie-payroll?month=2026-04&send=0"
# ææ¬¡cronãå®éã«å
šå¡ã«éä¿¡
curl "http://localhost:3000/api/cron/cie-payroll?month=2026-04"CIE_SHEET_ID=1allo82jdJ2P4D_NyXu-0jkceS5yfAeehoaLB76iD-Ds
GOOGLE_OAUTH_CLIENT_ID=...
GOOGLE_OAUTH_CLIENT_SECRET=...
GOOGLE_REFRESH_TOKEN=...
CRON_SECRET=ïŒä»»æã®æååïŒ
CIE_MANAGER_EMAIL=manager@your-company.com
NEXT_PUBLIC_BASE_URL=https://your-domain.vercel.appð±â LINE bot飿ºïŒå€åºå ãããã£ããïŒ
LINE å ¬åŒã¢ã«ãŠã³ããåã ã¡è¿œå ãããšãLINEããçŽæ¥ AI ã³ã³ã·ã§ã«ãžã¥ã«è©±ããããããŸãã ã¹ããã ãã§ CIE ãå®çµãå¶æ¥å¡ãå€åãäžã§ãæ©å確èªã»å¥çŽæ€çŽ¢ã»PDFéä¿¡ãå¯èœã
ð± ãã䜿ãã
ãæªåéãªã¹ãã â äžèЧã§è¿çã
ãäœè€ããã«5æåã®æçŽ°éã£ãŠã â AIãã¡ãŒã«éä¿¡ããŠå ±åã
ãç°åžžãæããŠã â æ€åºçµæãèŠçŽã
ð ã»ããã¢ããæé
https://your-domain/api/cie/line/webhook ãã³ãã â Webhook å©çš ONLINE_CHANNEL_ACCESS_TOKEN=...
LINE_CHANNEL_SECRET=...
LINE_REQUIRE_LINKED_USER=0 # 1ã«ãããšç»é²ãŠãŒã¶ãŒã®ã¿
LINE_ALLOW_WRITES=1ãµãŒããåèµ·åãð¡ ã»ãã¥ãªãã£
ã»
CIE_æ
åœè
ã·ãŒãã« LINE_USER_ID åã远å ããŠãåæ
åœè
ã®IDãç»é²ã»
LINE_REQUIRE_LINKED_USER=1 ã«ãããšãç»é²ããã人ã®ã¿å¿çã»ç»é²ãããŠããªã人ã話ãããããšãããªãã®LINE IDãããšã©ãŒã§éç¥ â ããã管çè ã«äŒããŠç»é²ããŠãããæµã
ã»ã©ããã話ããããŠã
POST /api/cie/concierge ã«éçŽã»ããŒã«12çš®é¡ãã¹ãŠäœ¿ããïŒåç §ã»æŽæ°ã»PDFã»éä¿¡ïŒ
ã»LINE㯠Webhook çµç±ãªã®ã§ãæ¬çªãããã€ãã URLïŒVercelïŒãå¿ èŠ
â10. ãããã質å
Q. ç»é¢ãå€ã衚瀺ã®ãŸãŸåããªã
Cmd+Shift+R ã§åŒ·å¶ãªããŒããããã§ããã¡ãªãéçºè
ããŒã«ã® Network ã¿ãã§ãDisable cacheããæå¹ã«ãQ. CSVåã蟌ã¿ã§ãé¡§å®¢å æªæ€åºãã«ãªã
lib/cie/normalizer.ts ã® COLUMN_SYNONYMS äžèЧãäžèŽããŠããªãå¯èœæ§ããããããã¿ãŒã³ïŒé¡§å®¢åïŒå¥çŽè
ïŒã客æ§å çïŒã¯ç»é²æžã¿ãæ°ãã¿ãŒã³ãå¿
èŠãªã远å ããŠãã ãããQ. ã¡ãŒã«ãå±ããªã
- æ åœè ã®ã¡ãŒã«æ¬ã空 â èšå®ã§å ¥å
- è¿·æã¡ãŒã«ãã©ã«ã確èª
- Google OAuthæªèšå® â
GOOGLE_REFRESH_TOKENçã®ç°å¢å€æ°ç¢ºèª - example.com ãªã©å®åšããªãã¢ãã¬ã¹ã¯Gmail APIã«åŒŸããã
Q. 絊äžèšç®ã§ãæ åœè ãç»é²ãããŠããŸããã
Q. èšç®çµæã«å¥çŽãå«ãŸããªã
Q. åå¥ã«ãŒã«ãå¹ããªã
Q. æ§é€çãå®éãšéã
lib/cie/payroll.ts ã® HEALTH_INSURANCE_RATE çã®å®æ°ãã瀟åŽå£«ç£ä¿®å€ã«çœ®ãæããŠãã ãããQ. æ¢åã®å¥çŽããŒã¿ãåé€ããã
CIE_絊äžèšç®çµæã®å¯Ÿè±¡æè¡ãåé€ããã°ãåèšç®ã§æ£ããå€ã«ãªããŸãã