Párování potvrzení plateb s objednávkami
Z příchozích potvrzení vyčte identifikátor objednávky a propojí ho se stavem platby v evidenci.
Co to řeší v praxi
Když potvrzení o platbě přichází e-mailem, ruční přepisování do objednávek zdržuje expedici a vytváří chyby. Skript pravidelně prochází nové zprávy, rozpoznává číslo objednávky a vyhledá odpovídající neuhrazený záznam.
Před párováním normalizuje různě zapsané předměty zpráv a hledá potřebný identifikátor. Pokud má zpráva odpovídající objednávku, provede požadovanou změnu platebního stavu a vytvoří záznam o zpracování.
Vedle objednávkové větve řeší i související typ potvrzení pro fakturační evidenci. Zprávy, které nejde bezpečně přiřadit, se nemají proměnit v domnělou úhradu; zůstávají k ručnímu dořešení.
Co řešení umí
Čtení potvrzení
Načítá relevantní e-mailové zprávy přes IMAP.
Normalizace textu
Sjednocuje zápisy včetně diakritiky.
Identifikace objednávky
Vytáhne číslo potřebné pro párování.
Kontrola stavu
Hledá odpovídající dosud neuhrazenou položku.
Zápis výsledku
Aktualizuje platební stav a eviduje provedenou akci.
Oddělené výjimky
Nespárované nebo nejednoznačné zprávy ponechá k prověření.
Technické řešení
Jednoúčelový Python skript propojuje IMAP schránku s objednávkovou databází. Textové vzory extrahují identifikátory, databázová kontrola pak omezuje změnu na odpovídající otevřený záznam.
Po načtení předmětu zprávy skript provede normalizaci a vytěžení čísla objednávky. Dotaz do databáze kontroluje existenci a aktuální platební stav před aktualizací.
Zpracování eviduje výsledek, aby bylo zřejmé, které potvrzení vedlo k jaké změně. Větev pro objednávky a větev pro fakturační potvrzení mají odlišné párovací kroky.
Technické výzvy
- Odolat různým podobám e-mailového předmětu.
- Nepřipsat potvrzení nesprávné objednávce.
- Zabránit duplicitní změně platebního stavu.
Jak na sebe kroky navazují
01Načtení pošty
Skript načte zprávy, které odpovídají očekávanému typu potvrzení. Běžná ostatní pošta se do párování objednávek nepřenáší.
02Rozbor předmětu
Předmět zprávy se sjednotí včetně diakritiky a rozpozná se jeho větev. Tím se omezí rozdíly mezi podobami doručených potvrzení.
03Extrakce čísla
Z textu se vybere číslo objednávky nebo fakturačního záznamu. Chybějící nebo nejednoznačný identifikátor se nesmí použít jako jistá shoda.
04Databázové párování
Databáze ověří existenci odpovídající položky a její současný platební stav. Již uzavřená položka nepotřebuje opakovaný zápis úhrady.
05Zápis úhrady
U jednoznačné shody skript provede odpovídající změnu stavu. Objednávková a fakturační větev se zpracovávají odděleně.
06Provozní evidence
Výsledek běhu se zaznamená pro pozdější dohledání. Nespárované zprávy zůstávají mimo automatické označení platby a vyžadují prověření.
Co z toho vzniklo
Potvrzení plateb se zpracovávají bez ručního přepisu a navazující tým vidí aktuálnější stav objednávky.