§
    ÔŸ’jà   ã                  óv   — d dl mZ d dlmZ 	 d dlZd dlZd dlmZ  ej        e¦  «        Z	 G d„ d¦  «        Z
dS )é    )Úannotations)ÚdatetimeN)ÚAnyc                  ó   — e Zd ZdZdd„ZdS )	ÚInvoiceAnalyticsRiskAuditMixinzMixin for tax risk auditing.Ú
invoice_idÚstrÚreturnúdict[str, Any]c                óh  — |                       |¦  «        }|sdddœS d}g }|                      |                     d¦  «        t          |                     dd¦  «        ¦  «        ¦  «        }|                      |                     d¦  «        |                     d	¦  «        |                     d
¦  «        ¦  «        \  }}|r|                     ddddœ¦  «         n`|                     d¦  «        s|dz  }|                     ddddœ¦  «         n,d|› �}|r|d|› �z  }|                     ddd|› d�dœ¦  «         t          |                     d¦  «        pd¦  «                             ¦   «         }	t          |	¦  «        dk    s:t          |	¦  «        dk    rd|	v s#|dz  }|                     ddd |	› d!�dœ¦  «         n|                     d"dd#|	› d$�dœ¦  «         t          |                     d%¦  «        pd¦  «        }
d&}|                     d¦  «        �rMd't          |                     d¦  «        ¦  «        v �r(	 t          j	        t          |                     d¦  «        ¦  «        ¦  «        }|                     d'¦  «        rÍt          |d'         ¦  «                             ¦   «         }d(|v r;t          j        |                     d)d*¦  «        ¦  «                             ¦   «         }ngd+|v r0t          j        |d&d…         d,¦  «                             ¦   «         }n3d|v r/t          j        |d&d…         d-¦  «                             ¦   «         }n# t          $ r Y nw xY w|s�|                     d	¦  «        rl	 t          j        t          |                     d	¦  «        ¦  «                             d)d*¦  «        ¦  «                             ¦   «         }n# t          $ r Y nw xY w|
�r'|�r$	 t          j        |
d&d…         d-¦  «                             ¦   «         }||z
  j        }|                     d,¦  «        }|                     d,¦  «        }|d.k    r)|d.z  }|                     d/dd0|› d1|› d2|› d3�dœ¦  «         n€|dk     rZt%          |¦  «        d4k    r!|                     d5dd0|› d6|› d7�dœ¦  «         nF|d8z  }|                     d9dd0|› d:|› d�dœ¦  «         n |                     d5dd0|› d6|› d;�dœ¦  «         n# t          $ r Y nw xY wt'          |                     d<¦  «        pd=¦  «        }t'          |                     d>¦  «        pd=¦  «        }t'          |                     d?¦  «        pd=¦  «        }|dk    rDt%          ||z   |z
  ¦  «        d@k    r+|dAz  }|                     dBddC|dD›dE|dD›dF|dD›d�dœ¦  «         |dk    rd}dG}n|dHk    rd}dI}ndJ}dK}||                     dL¦  «        |                     d
¦  «        ||||t          j        ¦   «                              ¦   «         dMœS )Nu[   RÃ  soÃ¡t rá»§i ro thuáº¿, tÃ­nh toÃ n váº¹n chá»¯ kÃ½ sá»‘ vÃ  Ä‘á»™ lá»‡ch thuáº¿ suáº¥t.Úerroru.   KhÃ´ng tÃ¬m tháº¥y hÃ³a Ä‘Æ¡n cáº§n rÃ  soÃ¡t.)ÚstatusÚmessager   Úinvoice_seriesÚtemplate_codeÚ Ú	signed_byÚ	signed_atÚseller_nameÚSIGNATURE_EXEMPT_MTTÚsafeu¡   HÃ³a Ä‘Æ¡n khá»Ÿi táº¡o tá»« mÃ¡y tÃ­nh tiá»�n cÃ³ mÃ£ CQT: Há»£p lá»‡ theo Khoáº£n 3 Ä�iá»�u 11 NÄ� 123/2020/NÄ�-CP (Miá»…n trá»« chá»¯ kÃ½ sá»‘ ngÆ°á»�i bÃ¡n).)ÚtypeÚseverityr   Úsignature_validé(   ÚSIGNATURE_INVALIDÚhighuQ   Chá»¯ kÃ½ sá»‘ khÃ´ng há»£p lá»‡ hoáº·c khÃ´ng cÃ³ chá»©ng thÆ° sá»‘ Ä‘Ã­nh kÃ¨m.u   Ä�Ã£ kÃ½ bá»Ÿi: u    â€” NgÃ y kÃ½: ÚSIGNATURE_VERIFIEDu   Chá»¯ kÃ½ sá»‘ há»£p lá»‡ (z).Úseller_tax_codeé
   é   ú-é   ÚTAX_CODE_MALFORMEDÚmediumu   MÃ£ sá»‘ thuáº¿ bÃªn bÃ¡n 'u4   ' khÃ´ng Ä‘Ãºng quy chuáº©n (10 hoáº·c 14 kÃ½ tá»±).ÚTAX_CODE_VALIDu   MÃ£ sá»‘ thuáº¿ bÃªn bÃ¡n (u.   ) há»£p lá»‡ theo chuáº©n Tá»•ng Cá»¥c Thuáº¿.Ú
issue_dateNÚSigningTimeÚTÚZz+00:00ú/z%d/%m/%Yz%Y-%m-%dé   ÚSIGNING_DELAYu   NgÃ y kÃ½ sá»‘ (u   ) trá»… hÆ¡n ngÃ y láº­p (z) u6    ngÃ y (VÆ°á»£t quÃ¡ thá»�i háº¡n quy Ä‘á»‹nh NÄ�123).é   ÚSIGNING_DATE_VALIDu   ) vÃ  ngÃ y láº­p (u!   ) há»£p lá»‡ theo chuáº©n NÄ�123.é   ÚSIGNING_BEFORE_ISSUEu#   ) trÆ°á»›c ngÃ y láº­p hÃ³a Ä‘Æ¡n (u-   ) hoÃ n toÃ n há»£p lá»‡ theo chuáº©n NÄ�123.Úsubtotal_amount_vndg        Úvat_amount_vndÚtotal_amount_vndéd   é#   ÚTAX_SUM_MISMATCHu/   Sai lá»‡ch sá»‘ há»�c: Tiá»�n trÆ°á»›c thuáº¿ (z,.0fu   ) + Thuáº¿ (u   ) != Tá»•ng thanh toÃ¡n (u®   Cáº¢NH BÃ�O Rá»¦I RO CAO: Táº¡m dá»«ng thanh toÃ¡n Ä‘á»‘i vá»›i hÃ³a Ä‘Æ¡n nÃ y vÃ  yÃªu cáº§u bÃªn bÃ¡n cáº¥p láº¡i hÃ³a Ä‘Æ¡n thay tháº¿ hoáº·c biÃªn báº£n Ä‘iá»�u chá»‰nh.é   u¥   Rá»¦I RO TRUNG BÃŒNH: Cáº§n káº¿ toÃ¡n trÆ°á»Ÿng Ä‘á»‘i soÃ¡t chi tiáº¿t há»£p Ä‘á»“ng vÃ  chá»©ng tá»« chuyá»ƒn tiá»�n ngÃ¢n hÃ ng trÆ°á»›c khi kháº¥u trá»« thuáº¿.Úlowu{   AN TOÃ€N: HÃ³a Ä‘Æ¡n há»£p lá»‡, Ä‘áº§y Ä‘á»§ chá»¯ kÃ½ sá»‘ vÃ  Ä‘á»§ Ä‘iá»�u kiá»‡n kháº¥u trá»« thuáº¿ GTGT Ä‘áº§u vÃ o.Úinvoice_number)r   r:   r   Ú
risk_scoreÚ
risk_levelÚ
risk_flagsÚrecommendationÚaudit_timestamp)Úget_invoice_detailÚis_cash_register_invoiceÚgetr	   Ú_clean_signer_infoÚappendÚstripÚlenÚjsonÚloadsr   ÚfromisoformatÚreplaceÚdateÚstrptimeÚ	ExceptionÚdaysÚstrftimeÚabsÚfloatÚnowÚ	isoformat)Úselfr   ÚinvÚrisk_pointsr=   Úis_mttÚclean_signerÚclean_sign_dateÚ
sig_detailÚmstÚissue_d_strÚsign_dtÚsbÚstÚi_dateÚ	diff_daysÚs_dispÚi_dispÚsubtotalÚvatÚtotÚlevelr>   s                          úJC:\Projects\DSCons\app\services\invoice_processing\analytics_risk_audit.pyÚaudit_invoice_tax_riskz5InvoiceAnalyticsRiskAuditMixin.audit_invoice_tax_risk   s0  € à×%Ò% jÑ1Ô1ˆØð 	dØ%Ð2bÐcÐcÐcàˆØ+-ˆ
ð ×.Ò.Ø�GŠGÐ$Ñ%Ô%¥s¨3¯7ª7°?ÀBÑ+GÔ+GÑ'HÔ'Hñ
ô 
ˆð )-×(?Ò(?Ø�GŠG�KÑ Ô  #§'¢'¨+Ñ"6Ô"6¸¿ºÀÑ8NÔ8Nñ)
ô )
Ñ%ˆ�oð ð 	ð ×Òà2Ø &ð  Cðð ñô ð ð ð —’Ð*Ñ+Ô+ð 	Ø˜2ÑˆKØ×Òà/Ø &Ørðð ñô ð ð ð ;¨LÐ:Ð:ˆJØð CØÐB°ÐBÐBÑB�
Ø×Òà0Ø &ØK¸ZÐKÐKÐKðð ñô ð õ �#—'’'Ð+Ñ,Ô,Ð2°Ñ3Ô3×9Ò9Ñ;Ô;ˆÝ�C‘”˜B’�¥3 s¡8¤8¨r¢> >°c¸S°j°jØ˜2ÑˆKØ×Òà0Ø (Øv¸SÐvÐvÐvðð ñô ð ð ð ×Òà,Ø &Øp¸SÐpÐpÐpðð ñô ð õ ˜#Ÿ'š' ,Ñ/Ô/Ð5°2Ñ6Ô6ˆØˆØ�7Š7�;ÑÔñ 	 MµS¸¿ºÀÑ9MÔ9MÑ5NÔ5NÐ$NÑ$NðÝ”Z¥ C§G¢G¨KÑ$8Ô$8Ñ 9Ô 9Ñ:Ô:�Ø—6’6˜-Ñ(Ô(ð 	PÝ˜R Ô.Ñ/Ô/×5Ò5Ñ7Ô7�BØ˜b�y�yÝ"*Ô"8ØŸJšJ s¨HÑ5Ô5ñ#ô #çš$™&œ&ð  ˜ð  ˜˜Ý"*Ô"3°B°s¸°s´G¸ZÑ"HÔ"H×"MÒ"MÑ"OÔ"O˜˜Ø ˜˜Ý"*Ô"3°B°s¸°s´G¸ZÑ"HÔ"H×"MÒ"MÑ"OÔ"O˜øøÝð ð ð Ø�ðøøøð ð 	˜3Ÿ7š7 ;Ñ/Ô/ð 	ðÝ"Ô0Ý˜Ÿš Ñ,Ô,Ñ-Ô-×5Ò5°c¸8ÑDÔDñô ç’$‘&”&ð �øõ ð ð ð Ø�ðøøøð ñ *	˜7ñ *	ð)Ý!Ô*¨;°s¸°sÔ+;¸ZÑHÔH×MÒMÑOÔO�Ø$ vÑ-Ô3�	Ø ×)Ò)¨*Ñ5Ô5�ØŸš¨Ñ4Ô4�Ø˜r’>�>Ø 2Ñ%�KØ×%Ò%à$3Ø(.ð (h¸&ð  (hð  (hÐ\bð  (hð  (hÐfoð  (hð  (hð  (hðð ñô ð ð ð  ’]�]Ý˜9‘~”~¨Ò*Ð*Ø"×)Ò)à(<Ø,2ð ,C¸fð  ,Cð  ,CÐY_ð  ,Cð  ,Cð  ,Cðð ñô ð ð ð $ rÑ)˜Ø"×)Ò)à(>Ø,4Ø+s¸fÐ+sÐ+sÐioÐ+sÐ+sÐ+sðð ñô ð ð ð ×%Ò%à$8Ø(.ð (K¸&ð  (Kð  (KÐU[ð  (Kð  (Kð  (Kðð ñô ð øøõ ð ð ð Ø�ðøøøõ ˜ŸšÐ!6Ñ7Ô7Ð>¸3Ñ?Ô?ˆÝ�C—G’GÐ,Ñ-Ô-Ð4°Ñ5Ô5ˆÝ�C—G’GÐ.Ñ/Ô/Ð6°3Ñ7Ô7ˆØ�aŠ<ˆ<�C ¨C¡°3Ñ 6Ñ7Ô7¸#Ò=Ð=Ø˜2ÑˆKØ×Òà.Ø &ð  \ÐQYð   \ð   \ð   \Ðloð   \ð   \ð   \ð  PSð   \ð   \ð   \ð   \ðð ñô ð ð ˜"ÒÐØˆEð NˆNˆNØ˜BÒÐØˆEð EˆNˆNàˆEð [ˆNð %Ø!ŸgšgÐ&6Ñ7Ô7ØŸ7š7 =Ñ1Ô1Ø%ØØ$Ø,Ý'œ|™~œ~×7Ò7Ñ9Ô9ð	
ð 	
ð 		
s9   È<DM Í
M ÍM Í;AO Ï
O#Ï"O#Ï-DT  Ô 
TÔTN)r   r	   r
   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ri   © ó    rh   r   r      s4   € € € € € Ø&Ð&ðm
ð m
ð m
ð m
ð m
ð m
ro   r   )Ú
__future__r   r   rG   ÚloggingÚtypingr   Ú	getLoggerrj   Úloggerr   rn   ro   rh   ú<module>ru      s    ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à <ð €€€Ø €€€Ø Ð Ð Ð Ð Ð à	ˆÔ	˜8Ñ	$Ô	$€ðp
ð p
ð p
ð p
ð p
ñ p
ô p
ð p
ð p
ð p
ro   