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 definitions | 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 acknowledgments/confirmations (CONTRL, 997). |
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. |
Cross-platform | Runs on Windows, Linux, OSX and other Unix variants. |
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 license 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, Nginx, MySQL/MariaDB or PostreSQL.
Available versions
Bots Frozen branch
Version 3.2.0 (Frozen) is the last stable version created by Henk-Jan, with last changes done in 2014. This branch requires Python 2.7 and some other old versions of components, but on the other hand is very stable, well documented and has many users who share their knowledge. 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:
Full documentation on bots.readthedocs.io.
Sourceforge: Installation files, plugins.
Source code on GitHub.
Active mailing list, where users share their knowledge.
Commercial support: EbbersConsult.
Bots Development branch (NG)
Version 3.8.5 is a fork created by Ludovic Watteaux, who also maintains the code.
Main new features of this version, compared to the Frozen branch:
Runs with Python 3 and Django 5.1.1.
Many 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).
Run as unprivileged user in ~/.bots/env/xxx/ (config, usersys and botssys directories).
Several bug fixes.
Links for development branch:
Full changelog. Bots NG is over 700 commits ahead of the Bots Frozen.
Source code is currently on GitLab (be sure to use the latest main branch), straightforward installation instructions with Python 3 are in the same repository.
Documentation is “work in progress” - currently it is based on the frozen branch and some parts don’t correspond anymore to the current functionality. Contributions are greatly appreciated.
Plugins with EDIFACT, X12 and two XML grammars (UBL Invoice and CII) adapted to Python 3 are on Sourceforge.
Discussion group: Discord invitation. Join us!
Commercial support: Ludovic Watteaux.
Other forks
There are several forks of Bots available on GitHub and elsewhere. Please be sure you are using Bots from the sources mentioned above before reaching us. If you’ve created your fork, please join us. Together we can do more.
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