Case study: the manufacturer Allodi was built in
Corn Belt Aluminum is an Iowa manufacturer owned by Mark Kladivo, the person who started Allodi. It is our own system, not an outside customer. Today it runs Odoo 18 Enterprise on its own office server, operated by its own people with Mark approving changes, and it is moving to Odoo 19 Community on Hetzner: the same project Allodi sells. This page shows that system in numbers and the rules every change goes through.
The system in numbers
Corn Belt Aluminum Inc. ran its business on other ERP software before it moved to Odoo. Today it runs Odoo 18 Enterprise on its own server at its office, with backups to Backblaze, and it is moving to Odoo 19 Community on Hetzner, with backups to Backblaze.
Every figure below was read from Corn Belt Aluminum's production Odoo database on October 1, 2026.
- Companies in one Odoo database
- 10
- All under the same ownership.
- Installed modules
- 457
- Of these, 116 are custom and 135 are Odoo Enterprise.
- Custom modules
- 116
- Written and maintained in-house, for all the companies in this database.
- Odoo Enterprise modules
- 135
- The ones the move to Odoo 19 Community has to replace or drop.
- Scheduled jobs
- 62
- Active scheduled jobs in the production database.
- Sales orders confirmed
- 1,311
- Corn Belt Aluminum alone, in the twelve months to October 1, 2026.
- Customer invoices posted
- 1,380
- Corn Belt Aluminum alone, in the same twelve months.
- Purchase orders issued
- 465
- Corn Belt Aluminum alone, in the same twelve months.
The 10 companies include Corn Belt Aluminum and Asphalt Tech LLC, a related company under the same ownership that runs on the same system.
How it is run
The rules are close to the ones on the how it works page, with one difference. On a customer's system the agent works read-only and changes nothing outside a short list of pre-approved routine actions. On Corn Belt's own system, Claude AI agents work through a tool server that can also write and deploy, and every production write or deploy waits for a person to approve it before it runs. The reasoning behind the fences is in how we fence an AI agent inside a production Odoo. On this system it comes down to six rules.
-
Agents work inside fences
Claude AI agents work on the production system through a purpose-built tool server. Every production write or deploy is approved by a person before it runs.
-
Dry run first
Database changes are dry-run first.
-
A person approves
A person reviews and approves each change.
-
Every change is on the record
Code changes are committed to a repository with a name on them. Changes to data are logged in the chatter of the record they change.
-
Outbound channels are guarded during tests
Email, SMS, printers, and carrier and payment APIs are guarded during tests. The rule came from a real incident: a vendor received many duplicate copies of a purchase order from test and re-run activity.
-
Backups go offsite and are checked
Backups run nightly, go offsite and are checked.
What we have built this way
Work done this way on this system includes sales tax calculation for Iowa, Minnesota and Nebraska, check printing layouts, product and shipping labels, bank reconciliation fixes, a daily dashboard of orders waiting to be invoiced, and offsite backups with a nightly check.
Some of it in more detail. Every item below is custom work in daily use at Corn Belt Aluminum.
-
A quote with a drawing of every window and door
Quotes and invoices print in a landscape format with a diagram of each window and door on the order, drawn from the line's own dimensions and options. The same diagrams go on the cut sheet the shop works from.
-
Prices and costs worked out line by line
Each made-to-order line is priced by formulas that read its width and height, glass, color and other options and look up component prices. Its margin is calculated from the materials it uses, waste included.
-
A portal where customers price and place their own orders
In the customer portal, Corn Belt's customers enter their own dimensions, see the price at once and submit confirmed orders. They can also print quotes for their own customers, with their own logo and the prices they choose.
-
A purchase order received, a sales order confirmed
Purchase orders that Corn Belt's customers email land in a shared sales inbox. For customers whose orders arrive as PDFs in a known format, Odoo reads the PDF and builds the sales order line by line. One confirmation step then checks payment terms, the deposit, the customer's reference and the delivery address before the order is confirmed.
-
Barcodes at every work center
Order lines are scanned in and out of each production stage, at kiosk stations and on handheld scanners, and the sales order shows a status light for every line and stage. The cutting station for aluminum extrusions runs on a tablet, a box label prints when a door is started, and staff clock in by scanning a badge.
-
Shipping from inside the order
One button on a quote gets live freight rates: truck rates from Panama Transfer or parcel rates through EasyPost. When an EasyPost label is bought it prints on the Zebra label printer by itself, and Odoo offers a shipping confirmation email to the customer. Shipping methods follow rules such as distance and whether the order holds glass, and one packing list can cover several sales orders.
-
Phone lines watched, calls and texts in the record
Odoo watches the company's Telnyx SIP phone trunks, shows their health in the top bar and sends a text alert when calls start failing or a trunk goes down. Call recordings are brought into Odoo, matched to the call, transcribed, and posted as a call note on the record. Staff send and receive text messages from any record, and can text a customer a link to a quote or an invoice.
-
Purchasing tied to the order
Purchase orders for glass and other bought parts are raised from the sales order they belong to, and stay linked to its lines. When an order needs glass in a special size, the purchase order for that glass carries the size, calculated from the order. Hydro extrusion prices are updated as the price of aluminum moves.
-
Money in and out
Card charges through Authorize.Net are batched and reconciled against its settlements, customers can pay by bank debit, checks print with their own bank line and security features, and payroll entries are imported from Patriot Software. Sales tax is worked out from the delivery address.
-
A field quoting app for a second business
Asphalt Tech's field techs build asphalt repair quotes on a phone at the job site: photos of each area, products and quantities line by line, and good, better and best options. The quote arrives in Odoo by itself as a draft sales order with the photos attached, prints there as a branded proposal, and can be emailed or texted to the customer from the app.
-
A weekly security scan, a daily backup text
The server gets a security scan every week and a backup check every day, and each one sends a text message with its results.
These are Corn Belt's own modules, built for its business. They are here as examples of the work, not as products.
The system is moving to Odoo 19 Community, with community replacements for the Enterprise apps it uses. That is the same project we sell: the upgrade to Odoo 19 and the move from Enterprise to Community.
What this is and is not
What it shows
It shows these rules in daily use on a real business with real money. The figures above are counts read from a production database on the date given.
What it does not show
Corn Belt Aluminum is our own company: the person who started Allodi owns it. That makes this page a record of our own system. It is not an independent customer reference.
What you can check for yourself: the live demo, the published contracts, the published prices, and the free scan with its sample report.
Start with your price
Enter your companies and users and your price is on screen. Send it to us from the same page, or start the free scan today.
- Plans, add-ons and hourly rates are published; larger projects are quoted up front, and the project fees in the free scan's quote are binding for what the scan counts.
- On a move, the start milestone is refunded if your database cannot run on the new server, unless the cause is on your side or a third party refuses to release your data (conditions).
- Managed Odoo is month to month: thirty days' notice, no minimum term.
- Your server, code, backups and credentials are in your company's name.
Or call us: +1 515-644-1400, any time, or write to us. How to start.