Pain001

ట్రెజరర్లు, చెల్లింపు ఆపరేషన్స్, ఇంజినీర్లు, ఆడిటర్ల కోసం సూటి సమాధానాలు. ప్రజలు నిజంగా అడిగే రీతిలోనే ప్రశ్నలు రూపొందించబడ్డాయి. మరింత లోతైన సాంకేతిక వివరాలకు సాంకేతిక సూచిక చూడండి.


ట్రెజరీ మరియు ఫైనాన్స్ నాయకుల కోసం#

ఒక పేరాలో, pain.001 అంటే ఏమిటి?

pain.001 అనేది క్రెడిట్ ట్రాన్స్‌ఫర్లను ప్రారంభించడానికి ఒక కస్టమర్ తన బ్యాంకుకు పంపే ISO 20022 సందేశం — SWIFT MT101 మరియు దేశీయ ఫ్లాట్ ఫైళ్ల వంటి ఫార్మాట్లకు XML వారసుడు. మీ బ్యాంకు దాన్ని అంగీకరించే ముందు ఒక స్కీమా మరియు స్కీమ్ రూల్‌బుక్‌కు వ్యతిరేకంగా ధృవీకరిస్తుంది. Pain001 (సాఫ్ట్‌వేర్) మీ వద్ద ఇప్పటికే ఉన్న డేటా నుండి ఆ ఫైళ్లను ఉత్పత్తి చేసి, మీరు సమర్పించే ముందే అవి చెల్లుబాటు అవుతాయని నిరూపిస్తుంది.

pain.001 మరియు pain.008 మధ్య తేడా ఏమిటి?

నిధుల ప్రవాహ దిశ. pain.001 క్రెడిట్ ట్రాన్స్‌ఫర్లను ప్రారంభిస్తుంది — మీరు డబ్బును బయటకు పంపుతారు. pain.008 డైరెక్ట్ డెబిట్లను ప్రారంభిస్తుంది — మాండేట్ కింద మీకు రావలసిన డబ్బును వసూలు చేస్తారు. Pain001 రెండింటినీ జనరేట్ చేస్తుంది: pain.001 యొక్క పది వెర్షన్లు (.001.03 నుండి .001.12 వరకు) మరియు pain.008.001.02.

మేము ఇంకా MT101 ఫైళ్లు పంపుతున్నాం. మైగ్రేషన్ ఎంత అత్యవసరం?

అత్యవసరం. క్రాస్-బోర్డర్ ఇంటర్‌బ్యాంక్ చెల్లింపు సూచనల కోసం SWIFT నవంబర్ 2025లో MT కేటగిరీ 1, 2, 9 సందేశాలను నిలిపివేసింది; ఇంకా MTను అంగీకరించే కార్పొరేట్ ఛానెళ్లు ప్రతి బ్యాంకు విచక్షణపైనే, అరువు తెచ్చుకున్న సమయంపైనే నడుస్తున్నాయి. MT101 లోడర్ ఏదీ తిరిగి టైప్ చేయకుండా ఇప్పటికే ఉన్న MT101 ప్రవాహాలను ధృవీకృత pain.001గా మారుస్తుంది.

నవంబర్ 2026 నిర్మాణాత్మక చిరునామా గడువు మా విషయంలో ఏమి సూచిస్తుంది?

నవంబర్ 2026 చివరి నుండి, CBPR+ క్రాస్-బోర్డర్ చెల్లింపుల్లో పూర్తిగా నిర్మాణరహిత పోస్టల్ చిరునామాలు ఇక అంగీకరించబడవు; చిరునామాలు నిర్మాణాత్మకంగా లేదా హైబ్రిడ్‌గా ఉండాలి — ఫ్రీ-టెక్స్ట్ లైన్లకు బదులు పట్టణం (), దేశం () వంటి విడి మూలకాలు. మీ మాస్టర్ డేటా చిరునామాలను బ్లాబ్‌లుగా నిల్వ చేస్తుంటే, పని మీ డేటాలో ఉంది, మీ బ్యాంక్ కనెక్షన్‌లో కాదు. అక్కడి నుండే ప్రారంభించండి. 2026 బ్రీఫింగ్ కాలక్రమాన్ని వివరంగా వివరిస్తుంది.

Pain001 ఖరీదు ఎంత?

ఏమీ లేదు. కోర్ Apache-2.0 / MIT ద్వంద్వ లైసెన్స్‌తో ఉంది; సహ ప్యాకేజీలు Apache-2.0. వాణిజ్య వినియోగం, మార్పు, పునఃపంపిణీ అన్నీ అనుమతించబడతాయి. స్థాయి పోలిక కోసం, SWIFT యొక్క ట్రాన్స్‌లేషన్ SDK ఒక్కటే సంవత్సరానికి €10,000–30,000గా జాబితా అవుతుంది.


చెల్లింపు ఆపరేషన్స్ కోసం#

బ్యాంకులు చెల్లింపు ఫైళ్లను ఎందుకు తిరస్కరిస్తాయి?

నాలుగు పునరావృత కారణాలు: స్కీమా ఉల్లంఘనలు (తప్పు మూలకం, తప్పు వెర్షన్, తప్పు నేమ్‌స్పేస్), చెడు ఐడెంటిఫయర్లు (IBAN చెక్‌సమ్ వైఫల్యాలు, తప్పుగా ఉన్న BICలు), విరిగిన నియంత్రణ మొత్తాలు (NbOfTxs / CtrlSum లావాదేవీలతో సరిపోలకపోవడం), మరియు ISO 20022 లాటిన్ సమితికి బయటి అక్షరాలు. ఫైల్ ఉనికిలోకి రాక ముందే Pain001 నాలుగింటినీ తనిఖీ చేస్తుంది: రికార్డుకు JSON Schema ధృవీకరణ, mod-97 IBAN మరియు ISO 9362 BIC తనిఖీలు, తిరిగి లెక్కించిన నియంత్రణ మొత్తాలు, అక్షరసమితి ట్రాన్స్‌లిటరేషన్, మరియు రెండర్ అయిన XMLకు తుది XSD ధృవీకరణ.

ఏమీ జనరేట్ చేయకుండా ఒక ఫైల్‌ను ధృవీకరించగలమా?

అవును — pain001 --dry-run (లేదా validate సబ్‌కమాండ్, లేదా POST /api/v1/validate). నిష్క్రమణ కోడ్ 0 అంటే చెల్లుబాటు; 1 అంటే ఫీల్డ్-స్థాయి లోపాలతో ధృవీకరణ విఫలమైంది. దీన్ని CIలో లేదా సమర్పణ-పూర్వ చెక్‌లిస్ట్‌లో అనుసంధానించండి.

ఏ SEPA రూల్‌బుక్‌లు కవర్ అవుతాయి?

ఐదు స్కీమ్ రూల్‌బుక్‌లు అంతర్నిర్మితంగా వస్తాయి: SEPA Credit Transfer (sepa-sct), SEPA Instant (sepa-inst), SEPA Direct Debit Core (sepa-sdd), SEPA B2B (sepa-b2b), మరియు క్రాస్-బోర్డర్ క్రెడిట్ ట్రాన్స్‌ఫర్ (xborder-ct). పాస్ లేదా ఫెయిల్ అయిన ప్రతి నియమాన్ని చూడటానికి --scheme --explain వాడండి.

మా డేటా Excelలో ఉంది. ఇందులో చిక్కేమిటి?

Excel IBAN-వంటి స్ట్రింగ్‌లను నిశ్శబ్దంగా సంఖ్యలుగా మార్చేస్తుంది. Excel లోడర్ .xlsx/.xlsmను నేరుగా చదివి, IBAN కాలమ్‌లలో సంఖ్యా సెల్‌లు ఉంటే వెంటనే ఆగిపోతుంది — పాడవడం బ్యాంకు వద్ద కాదు, లోడ్ సమయంలోనే పట్టుబడుతుంది.

500,000-వరుసల బ్యాచ్‌ను ఇది ఎలా నిర్వహిస్తుంది?

--streaming ఇన్‌పుట్‌ను మెమరీ-పరిమిత చంక్‌లలో ప్రాసెస్ చేస్తుంది (డిఫాల్ట్ 1,000 లావాదేవీలు), ప్రతి చంక్ సరైన, తిరిగి లెక్కించిన నియంత్రణ మొత్తాలతో సొంత XML ఫైల్‌గా విడుదల అవుతుంది. అదే కారణంతో REST API జాబ్ పోలింగ్‌తో POST /api/v1/generate/asyncను అందిస్తుంది.


ఇంజినీర్లు మరియు ఆర్కిటెక్టుల కోసం#

మేము దీన్ని ఎలా అనుసంధానించాలి — లైబ్రరీ, CLI, లేదా API?

మూడూ ఫస్ట్-క్లాస్ ఉపరితలాలుగా ఉన్నాయి: టైప్డ్ Python API, CI-అనుకూల నిష్క్రమణ కోడ్‌లతో CLI, మరియు సింక్, అసింక్-జాబ్, హెల్త్, Prometheus మెట్రిక్స్ ఎండ్‌పాయింట్లతో FastAPI మైక్రోసర్వీస్ (pain001 serve). కింద ఒకే ధృవీకరణ పైప్‌లైన్, కాబట్టి ఫలితాలు ఉపరితలాల మధ్య ఎప్పుడూ విడిపోవు.

XML జనరేషన్ నిజంగా ఫ్లోట్ రౌండింగ్ నుండి సురక్షితమేనా?

జనరేషన్ మరియు స్కీమ్ ధృవీకరణలో మొత్తాలు మొదటి నుండి చివరి వరకు decimal.Decimal — ఖచ్చితమైన దశాంశాలుగా పార్స్ అవుతాయి, ఖచ్చితమైన దశాంశాలుగా కూడతాయి, ఫ్లోట్ ప్రాతినిధ్యం లేకుండా రెండర్ అవుతాయి. నియంత్రణ మొత్తాలు ఇన్‌పుట్‌ను నమ్మకుండా ధృవీకృత రికార్డుల నుండి తిరిగి లెక్కించబడతాయి.

భద్రతా స్థితి ఏమిటి?

అన్ని XML పార్సింగ్ defusedxml ద్వారా వెళుతుంది (XXE మరియు ఎంటిటీ-విస్తరణ దాడులను అడ్డుకుంటుంది); డిపెండెన్సీ ట్రీలో lxml లేదు. ఇన్‌పుట్‌లు పాత్-ట్రావర్సల్ వాలిడేటర్‌ను దాటుతాయి. Docker ఇమేజ్ నాన్-రూట్‌గా నడుస్తుంది. కోర్ విడుదలలకు CycloneDX SBOM జనరేట్ అవుతుంది, మరియు PAIN001_DISABLE_PLUGINS=1తో మూడవ-పక్ష ప్లగిన్ డిస్కవరీని పూర్తిగా నిలిపేయవచ్చు.

నాణ్యత ఎలా అమలు చేయబడుతుంది?

కోర్‌పై కఠిన CI గేట్‌గా 100% లైన్ మరియు బ్రాంచ్ కవరేజ్ (ధృవీకరించదగినది: 3,828 లైన్లు, 926 బ్రాంచ్‌లు 100% వద్ద), కఠిన mypy, 100% డాక్‌స్ట్రింగ్ కవరేజ్, Bandit మరియు pip-audit సెక్యూరిటీ లింటింగ్, మరియు CodeQL స్కానింగ్. సహ ప్యాకేజీలు కూడా అదే 100% కవరేజ్ క్రమశిక్షణను పాటిస్తాయి.

ఒక యాజమాన్య ఫార్మాట్ కోసం దీన్ని విస్తరించగలమా?

అవును — నాలుగు ప్లగిన్ ఎంట్రీ-పాయింట్ గ్రూపులు (pain001.loaders, pain001.validators, pain001.schemes, pain001.writers). Excel లోడర్ స్వయంగా పబ్లిక్ ప్రోటోకాల్ వాడే ప్లగిన్, కాబట్టి అది రిఫరెన్స్ అమలుగానూ పనిచేస్తుంది.


ఆడిటర్లు మరియు కంప్లయన్స్ కోసం#

గత త్రైమాసికంలో జనరేట్ అయిన ఫైల్‌ను మేము పునరుత్పత్తి చేయగలమా?

అవును. ప్యాకేజీ వెర్షన్‌ను పిన్ చేసి, అదే ఇన్‌పుట్‌ను మళ్లీ నడిపితే, అవుట్‌పుట్ నిర్ధారితంగా ఉంటుంది. టూల్‌చెయిన్ ఓపెన్ సోర్స్ కావడంతో, ఆడిట్ ట్రయల్ కేవలం విక్రేత ధృవీకరణ వరకే కాదు — కోడ్ మార్గంలోకి కూడా విస్తరిస్తుంది.

చెల్లింపు డేటా మా వాతావరణం నుండి బయటకు వెళుతుందా?

లేదు. ప్రతి భాగం — CLI, లైబ్రరీ, REST API, MCP సర్వర్, LSP — స్థానికంగానే అమలవుతుంది. టెలిమెట్రీ లేదు, SaaS కాల్‌బ్యాక్ లేదు, బాహ్య ధృవీకరణ సేవ లేదు. MCP సర్వర్ stdio మాత్రమే మాట్లాడుతుంది మరియు దాని మొత్తం 17 సాధనాలు రీడ్-ఓన్లీ, ఐడెంపొటెంట్‌గా గుర్తించబడ్డాయి.

Pain001ని ఎవరు నిర్వహిస్తారు?

Sebastien Rousseau, లండన్-ఆధారిత ఫిన్‌టెక్ ఇంజినీరింగ్ నాయకుడు, కమ్యూనిటీ సహకారులతో కలిసి నిర్వహిస్తారు. అభివృద్ధి GitHubలో బహిరంగంగా జరుగుతుంది, విడుదలలు PyPIలో ప్రచురించబడతాయి, మరియు ప్రతి విడుదలతో చేంజ్‌లాగ్ వెర్షన్ చేయబడుతుంది.