About SWIFT Framework .NET

Complex SWIFT messaging solution for your .NET applications.

SWIFT Framework .NET is a system for capturing, validating and processing SWIFT messages within an organizations information systems infrastructure. SWIFT Framework .NET allows seamless integration into existing IT systems as well as can be a base to build up a clean and fully compatible SWIFT messaging system. SWIFT Framework .NET includes generic system for loading, storing and validation of SWIFT messages and Microsoft BizTalk XML schema and object model compatibility without the need to install BizTalk.

The Society for Worldwide Interbank Financial Telecommunication ("SWIFT") operates a worldwide financial messaging network which exchanges messages between banks and other financial institutions. The SWIFT Framework.NET gives the developers a chance to handle the MTxxx messages under the Microsoft .NET Framework. SWIFT Framework.NET includes a SWIFT Parser. It can read the SWIFT message (or a batch of messages), parse the data and build the message structure, giving access to block items and data stored in SWIFT tags. The opposite direction is possible as well - the message structure can be built manually and then it can be written back to the SWIFT message plain text format.

SWIFT Framework .NET Main Features

  • Complex SWIFT messaging solution running on the Microsoft .NET Framework
  • Generic system for loading, storing and validation of SWIFT messages
  • Microsoft BizTalk XML schema and object model compatible without the need to install BizTalk itself
  • SWIFT Framework contains over 570,000 lines of code
  • The object model contains 323 SWIFT Message Types

SWIFT Framework .NET enables validation based on message (or message block) properties and validation based on SWIFT tags. These two ways can be combined and customized. Default message validation can be extended by own specification or it can be completely replaced. This enables integrators to create simple business rules being built-in the messaging framework of the solution.

  • Complex generic validation rules
  • SWIFT Tag Validators
  • Property Validators

You perform the validation by calling the SwiftMessage.Validate() method that provides not just the simple result but also a list of errors.

Validation Rules
SWIFT Framework.NET Validation is based on validation rules. Each validation rule checks whether a string meets certain conditions. There are several predefined validation rules but you can write your own classes derived from the ValidationRuleBase class as well.

Predefined validation rules are these: ValidationRule_Length (checks the length of a string), ValidationRule_Range (checks whether the value is a number of specified range), Validation_RegEx (checks whether the string matches the regular expression) and Validation_Enumeration (checks whether the string is of a list of allowed values).

Rules can be combined and applied for either message Block properties or SWIFT tags. The whole string value can be taken for validation or you can test its part only.

Completness and Complexity
All the SWIFT messages categories are supported:

MT0xx System Messages
MT008, MT009, MT010, MT011, MT012, MT015, MT019, MT020, MT021, MT022, MT023, MT028, MT029, MT030, MT031, MT032, MT035, MT036, MT037, MT039, MT041, MT042, MT043, MT044, MT045, MT046, MT047, MT048, MT049, MT050, MT051, MT052, MT055, MT056, MT057, MT059, MT061, MT062, MT063, MT064, MT065, MT066, MT067, MT068, MT069, MT072, MT073, MT074, MT075, MT076, MT077, MT081, MT082, MT083, MT085, MT087, MT090, MT092, MT094, MT096, MT097, MTS02, MTS03, MTS05, MTS06, MTS12, MTS13, MTS14, MTS15, MTS21_FIN_ACKNAK, MTS22, MTS23, MTS25, MTS26, MTS33, MTS35, MTS42, MTS43

MT1xx Customer Payments and Cheques
MT101, MT102, MT102PLUS, MT103, MT103PLUS, MT104, MT105, MT106, MT107, MT110, MT111, MT112, MT121, MT190, MT191, MT192, MT195, MT196, MT198, MT199

MT2xx Financial Institution Transfers
MT200, MT201, MT202, MT203, MT204, MT205, MT206, MT207, MT210, MT256, MT290, MT291, MT292, MT293, MT295, MT296, MT298, MT299

MT3xx Treasury Markets
MT300, MT303, MT304, MT305, MT306, MT307, MT308, MT320, MT321, MT330, MT340, MT341, MT350, MT360, MT361, MT362, MT364, MT365, MT380, MT381, MT390, MT391, MT392, MT395, MT396, MT398, MT399

MT4xx Collection and Cash Letters
MT400, MT405, MT410, MT412, MT416, MT420, MT422, MT430, MT450, MT455, MT456, MT490, MT491, MT492, MT495, MT496, MT498, MT499

MT5xx Securities Markets
MT500, MT501, MT502, MT503, MT504, MT505, MT506, MT507, MT508, MT509, MT510, MT513, MT514, MT515, MT516, MT517, MT518, MT519, MT524, MT526, MT527, MT528, MT529, MT535, MT536, MT537, MT538, MT540, MT541, MT542, MT543, MT544, MT545, MT546, MT547, MT548, MT549, MT558, MT559, MT564, MT565, MT566, MT567, MT568, MT569, MT574_IRSLST, MT574_W8BENO, MT575, MT576, MT577, MT578, MT579, MT581, MT582, MT584, MT586, MT587, MT588, MT589, MT590, MT591, MT592, MT595, MT596, MT598, MT599

MT6xx Treasury Markets - Metals and Syndications
MT600, MT601, MT604, MT605, MT606, MT607, MT608, MT609, MT643, MT644, MT645, MT646, MT649, MT690, MT691, MT692, MT695, MT696, MT698, MT699

MT7xx Documentary Credits and Guarantees
MT700, MT701, MT705, MT707, MT710, MT711, MT720, MT721, MT730, MT732, MT734, MT740, MT742, MT747, MT750, MT752, MT754, MT756, MT760, MT767, MT768, MT769, MT790, MT791, MT792, MT795, MT796, MT798, MT799

MT8xx Travellers’ Cheques
MT800, MT801, MT802, MT810, MT812, MT813, MT820, MT821, MT822, MT823, MT824, MT890, MT891, MT892, MT895, MT896, MT898, MT899

MT9xx Cash Management and Customer Status
MT900, MT910, MT920, MT935, MT940, MT941, MT942, MT950, MT960, MT961, MT962, MT963, MT964, MT965, MT966, MT967, MT970, MT971, MT972, MT973, MT985, MT986, MT990, MT991, MT992, MT995, MT996, MT998, MT999