Bots Frozen is powerful and very stable. Learn about strong points and the features of Bots Open Source EDI translator.
[Read More]Bots is an Open Source, production-grade software for translation and routing of EDI files. It is used by companies exchanging large numbers of electronic business documents.
Why you may need Bots?
▸ because you won’t be able to exchange electronic documents reliability with more than a few partners without losing track of what’s going on.
▸ because some bigger partners impose the use of documents in standards such as EDIFACT, X12, UBL, and you need to convert the data from your ERP system,
▸ because even standard EDI documents are never in the same format from one partner to another,
▸ because with time you and your partners introduce changes in the format of existing documents.
Main features
Feature | Description |
---|---|
Any to any data format | Input and output files might be in any format and standard, as: EDIFACT, X12, XML, json, SAP idoc, flat-files (CSV, fixed-width records, …). |
Ready EDI documents | Available definitions of over 120 EDIFACT D96A documents and of the most popular X12 documents. Many examples available for other formats. |
Simple data mapping | Simple and powerful translation mapping with simple Python scripts. |
Web console | Web user interface for configuration and supervision of documents translation and routing. |
Easy scaling | Simplified management of many similar mappings. Easily runs hundreds of thousands of EDI messages per month. |
Change management | Configuration change management (test -> production). |
Functional receipt confirmation | Built-in EDIFACT/X12 functional acknowledgements/confirmations (997, CONTRL). |
Many transport standards | Built-in communication using popular protocols: (S)FTP, FTPS, POP3(S), IMAP(S), SMTP(S), HTTP(S), files, XML-RPC, direct database access and integration with external AS2 servers and VANs. |
Full list of features and strong points of Bots (frozen branch).
How does it work?
- input and output files structure should be defined in “grammars” - there are ready grammars for many EDIFACT and X12 standard documents, and examples for other formats,
- data translation mappings are simple Python scripts,
- data connections are defined using web management console (partners, routes, transports, grammars, translations)
- documents sent and received are processed automatically, with supervision using a management console.
The name
Bots in Dutch means “crash”: implementation of EDI connections is often a clash of different cultures and IT system limitations. See the FAQ in documentation for a more complete explanation.
The software
The original version of Bots was created and first shared on an open licence in 2007 by Henk-Jan Ebbers, who after many years of development and very active support, at the end of 2024 has decided to pass the continuation of the project to the Bots community.
Bots is written in Python using Django framework, the default web server Cherrypy and default database SQLite might be replaced by Apache, MySQL/MariaDB or PostreSQL.
Available versions
Bots Frozen branch
Version 3.2.0 (Frozen) created by Henk-Jan, with last changes done in 2014. This branch requires Python 2.7 and some other old versions of components. This branch is very stable and well documented, has many users who share their knowledge on a mailing list, there are many available examples of translations for EDIFACT, X12, XML, CSV, fixed-width flat-files, EDI2HTML. The answers to many questions are to be found in the mailing list archive.
Links for Frozen branch:
Sourceforge: Installation files, Plugins
Source on github
Google bots mailing list
Commercial support: EbbersConsult
Bots Development branch
Version 3.8.5 (NG), based on the fork created by Ludovic Watteaux, who also maintains the code.
Main new features of this version, compared to the Frozen branch:
runs under Python 3 and Django 5.1.1
adapted for use in userspace ~/.bots/env/xxx/(config, usersys, botssys)
web gui improvements (filtering, queries, save queries, translations…)
better import and export plugins (ccodes, translations, grammars, routes, …)
improved engine logs (by run or daily with log rotating)
several bug fixes ( …)
For a full lists have a look in CHANGELOG.rst in the source.
Links for development branch:
Source code on gitlab [TODO: soon will be moved to github], installation instructions
Full documentation is “work in progress” - it is based on the frozen branch and some parts don’t correspond anymore to the current functionality. Contributions are greatly appreciated.
Discussion group: https://discord.gg/ndxTFTNp
Commercial support: Ludovic Watteaux.
Note: there are several forks of Bots available on GitHub and through other sources. Please be sure you are using Bots from the sources mentioned above before reaching us.
How to contribute:
- install development branch
- adapt your mappings
- test and report issues
- propose fixes for issues
- propose improvements in the code (see the roadmap)
- respond to questions of other users on the discussion list
- write or adapt existing documentation