Tambayoyi

Tambayoyin Pain001 ga Baitulmali, Ayyuka da Injiniya

Amsoshi kai tsaye ga masu baitulmali, ayyukan biyan kuɗi, injiniyoyi da masu bincike, kamar yadda mutane ke tambaya da gaske.

Amsoshi kai tsaye ga masu baitulmali, ayyukan biyan kuɗi, injiniyoyi da masu bincike. An tsara tambayoyin kamar yadda mutane ke yin su da gaske. Don ƙarin bayani na fasaha, duba Jagorar Fasaha.


Ga shugabannin baitulmali da kuɗi#

pain.001 shi ne saƙon ISO 20022 da abokin ciniki ke aikawa bankinsa domin fara tura kuɗi. Shi ne magajin XML ga tsare-tsare kamar SWIFT MT101 da fayilolin gida masu layi ɗaya. Bankinka yana tantance shi bisa schema da littafin ƙa'idar tsari kafin ya karɓe shi. Pain001 (manhajar) tana samar da waɗannan fayilolin daga bayanan da kake da su, tana kuma tabbatar da ingancinsu kafin ka gabatar da su.

Alkiblar kuɗin ce ta bambanta. pain.001 yana fara tura kuɗi: kana fitar da kuɗi. pain.008 yana fara cirar kuɗi kai tsaye: kana karɓar kuɗin da ake binka bisa izini. Pain001 tana samar da su duka: sigogi goma na pain.001 (daga .001.03 zuwa .001.12) da pain.008.001.02.

Gaggawa ce. SWIFT ta janye saƙonnin MT na rukunin 1, 2 da 9 don umarnin biyan kuɗi tsakanin bankuna a ƙasashen waje a watan Nuwamba 2025; hanyoyin kamfanoni da suke har yanzu karɓar MT suna yin hakan bisa ra'ayin kowane banki kuma na ɗan lokaci ne. Loader ɗin MT101 yana juya hanyoyin MT101 da kake da su zuwa pain.001 da aka tantance ba tare da sake shigar da komai ba.

Swift ta shirya daina karɓar adiresoshin gidan waya marasa tsari gaba ɗaya a biyan kuɗi tsakanin ƙasashe na CBPR+ a watan Nuwamba 2026. A watan Agusta 2026 ta ɗage wannan rana kuma za ta sanar da sabuwa kafin ƙarshen Disamba 2026, amma dokar ba ta canza ba: dole adireshi ya kasance mai tsari ko haɗaɗɗe, wato sassa daban-daban kamar gari (<TwnNm>) da ƙasa (<Ctry>) maimakon layukan rubutu kyauta. Idan bayananku na asali suna riƙe da adiresoshi a matsayin rubutu guda, aikin yana cikin bayananku ne, ba a haɗin bankinku ba. Ku fara daga can. Takaitaccen bayanin 2026 ya yi bayanin lokutan dalla-dalla.

Ba kome. Tushen yana da lasisi biyu na Apache-2.0 / MIT; ƙarin fakitocin suna ƙarƙashin Apache-2.0. An ba da izinin amfani na kasuwanci, gyarawa da sake rarrabawa. A matsayin ma'auni na kwatanta, SDK na fassara na SWIFT kaɗai yana kan €10,000–30,000 a shekara.


Ga masu ayyukan biyan kuɗi#

Dalilai huɗu ne ke maimaituwa: karya ƙa'idar schema (kuskuren sashe, kuskuren siga, kuskuren namespace), alamun ganewa marasa kyau (faɗuwar checksum na IBAN, BIC marasa tsari), jimillolin sarrafawa da suka ɓaci (NbOfTxs / CtrlSum da ba su dace da mu'amaloli ba), da haruffa a wajen tarin Latin na ISO 20022. Pain001 tana duba dukkan huɗun kafin fayil ya kasance: tantance JSON Schema ga kowane rikodi, duban IBAN da mod-97 da na BIC da ISO 9362, sake ƙidaya jimillolin sarrafawa, canza haruffa, da tantancewar XSD ta ƙarshe ga XML ɗin da aka samar.

Eh. Yi amfani da pain001 --dry-run (ko ƙaramin umarnin validate, ko POST /api/v1/validate). Lambar fita 0 na nufin fayil ɗin yana da inganci; 1 na nufin tantancewa ta faɗi tare da kurakurai a matakin filaye. Ka haɗa shi cikin CI ko cikin jerin duba kafin gabatarwa.

Littattafan ƙa'idar tsari guda biyar suna zuwa a ciki: SEPA Credit Transfer (sepa-sct), SEPA Instant (sepa-inst), SEPA Direct Debit Core (sepa-sdd), SEPA B2B (sepa-b2b), da tura kuɗi tsakanin ƙasashe (xborder-ct). Yi amfani da --scheme <name> --explain don ganin kowace ƙa'ida da ta ci nasara ko ta faɗi.

Excel yana juya rubutun da yake kama da IBAN zuwa lambobi a shiru. Loader ɗin Excel yana karanta .xlsx/.xlsm kai tsaye kuma yana tsayawa nan take idan ginshiƙan IBAN suna ɗauke da sel na lambobi, don haka ana kama lalacewar a lokacin ɗorawa, ba a banki ba.

--streaming yana sarrafa shigarwa a gutsuttsura masu iyakancewar ƙwaƙwalwa (tsoho: mu'amala 1,000), kuma ana fitar da kowanne a matsayin fayil ɗin XML nasa tare da jimillolin sarrafawa da aka sake ƙidayawa daidai. REST API tana bayar da POST /api/v1/generate/async tare da duba matsayin aiki saboda dalili guda.


Ga injiniyoyi da masu ƙirar tsari#

Dukkan ukun suna nan a matsayin manyan hanyoyi: Python API mai nau'ika bayyanannu, CLI mai lambobin fita da suka dace da CI, da ƙaramar hidimar FastAPI (pain001 serve) mai endpoints na aiki kai tsaye, na aikin async, na lafiya, da na ma'aunan Prometheus. Tsarin tantancewa ɗaya ne a ƙasa, don haka sakamako ba ya taɓa bambanta tsakanin hanyoyin.

Kuɗaɗe suna kasancewa decimal.Decimal daga farko zuwa ƙarshe a ƙirƙira da tantance tsari. Ana karanta su a matsayin lambobin goma cikakku, a haɗa su a matsayin lambobin goma cikakku, kuma a fitar da su ba tare da wakilcin float ba. Ana sake ƙidaya jimillolin sarrafawa daga rikodin da aka tantance, ba a taɓa dogara ga shigarwa ba.

Dukkan karanta XML yana wucewa ta defusedxml (yana toshe hare-haren XXE da faɗaɗa entity); babu lxml a cikin itacen dogaro. Shigarwa tana wucewa ta mai tantance hanyar fayil. Hoton Docker yana aiki ba a matsayin root ba. Ana samar da SBOM na CycloneDX ga fitarwar tushe, kuma ana iya kashe gano plugins na waje gaba ɗaya da PAIN001_DISABLE_PLUGINS=1.

Rufin gwaji na kashi 100% na layuka da na rassa a matsayin ƙofa mai tsauri a CI kan tushen (a tabbatacce: layuka 3,828, rassa 926 kan 100%), tsauraran mypy, kashi 100% na docstring, binciken tsaro na Bandit da pip-audit, da binciken CodeQL. Ƙarin fakitocin suna riƙe da wannan ka'idar ta kashi 100% ɗin.

Eh, ta hanyar ƙungiyoyin shiga huɗu na plugin (pain001.loaders, pain001.validators, pain001.schemes, pain001.writers). Loader ɗin Excel shi kansa plugin ne da ke amfani da yarjejeniyar jama'a, don haka yana aiki kuma a matsayin misalin aiwatarwa.


Ga masu bincike da bin ƙa'ida#

Eh. Ka ƙayyade sigar fakitin, ka sake gudanar da shigarwa iri ɗaya, fitarwar kuwa ba za ta sauya ba. Tunda kayan aikin buɗaɗɗen tushe ne, hanyar binciken tana kaiwa har cikin lambar kanta, ba kawai takardar shaida ta mai sayarwa ba.

A'a. Kowane sashe (CLI, ɗakin karatu, REST API, sabar MCP, LSP) yana aiki a cikin gida. Babu telemetry, babu kiran SaaS, babu hidimar tantancewa ta waje. Sabar MCP tana magana ta stdio kaɗai kuma an yiwa dukkan kayan aikinta 17 alamar karantawa kaɗai da rashin canja yanayi.

Sebastien Rousseau, shugaban injiniyanci na fintech mazaunin London, tare da masu ba da gudummawa daga al'umma. Ana gudanar da ci gaban a bayyane a GitHub, ana buga fitarwa a PyPI, kuma ana yiwa tarihin canje-canje siga a kowace fitarwa.