Integrations / ERP / Katana
Katana Integration Guide for Production Scheduling with SkyPlanner APS
This Katana integration guide shows consultants and IT teams how to connect Katana Cloud Inventory (Katana MRP) to SkyPlanner APS. SkyPlanner integrates with Katana in both directions over the public Katana API:
- Manufacturing orders, operation rows, product recipes, production operations, resources, inventory and purchase orders flow in.
- The schedule sequence goes back to Katana’s Schedule tab, with a production deadline on each manufacturing order.
- Operation status and actual time go back to the operation rows.
- Katana webhooks report changes in, and SkyPlanner webhooks push schedule changes as they happen.
The SkyPlanner team configures the integration to your Katana setup during onboarding and supports it after go-live. This guide is for consultants and developers who want to take part, or to build on SkyPlanner’s documented REST API (API reference) themselves.
The Katana API
Katana is one multi-tenant cloud product, so every customer runs the same API. It is a REST API, version v1, at https://api.katanamrp.com/v1, with an OpenAPI 3.0 spec at https://api.katanamrp.com/v1/openapi.json. Documentation lives in the Katana Developer Hub.
The endpoints a scheduler needs:
- Master data:
/products,/materials,/variants,/recipe_rows,/bom_rows,/product_operation_rows. - Orders:
/manufacturing_orders,/manufacturing_order_operation_rows,/manufacturing_order_recipe_rows,/manufacturing_order_productions. - Sequence:
/manufacturing_order_rerank. - Supply and demand:
/inventory,/purchase_orders,/purchase_order_rows,/sales_orders,/sales_order_rows.
There is no /resources endpoint. Resources appear as resource_id and resource_name on product operation rows and MO operation rows.
Authentication and limits
Authentication uses an API key as a bearer token: Authorization: Bearer <api key>. Create the key under Settings > API > Add new API key. (source)
The limits shape the sync design:
- By default, the Katana API allows 60 requests per 60 seconds (source)
- Above that, the API returns 429 with
Retry-After.X-Ratelimit-Remainingshows the headroom. - List endpoints page their results and accept updated-date filters, so deltas stay small.
On the SkyPlanner side, the REST API authenticates with an API token (SkyPlanner Settings > API) and is documented in Swagger/OpenAPI. The integration tutorial walks through the first calls.
Webhooks
Register a webhook with POST /webhooks, an HTTPS URL and the events you need. (source) The useful events for scheduling:
manufacturing_order.created,.updated,.deleted,.in_progress,.blocked,.donemanufacturing_order_operation_row.created,.updated,.in_progress,.paused,.completedcurrent_inventory.material_updated,.material_out_of_stockpurchase_order.*andpurchase_order_row.*, including receivedproduct.*,product_recipe_row.*andsales_order.*
Payloads are thin: the resource type, action and an href. The receiver fetches the full object from the href. Each delivery carries an x-sha2-signature header (HMAC SHA-256) for verification. Your endpoint must answer 20X within 10 seconds, and Katana retries three times, at 30 seconds, 2 minutes and 15 minutes.
Data mapping
| Katana object (endpoint) | SkyPlanner object | Direction | Frequency |
|---|---|---|---|
Products, materials, variants (/products, /materials, /variants) | Products and materials | Katana → SkyPlanner | Initial load, then on webhook |
Product recipe / BOM (/recipe_rows, /bom_rows) | Product structure, subproducts | Katana → SkyPlanner | Initial load, then on webhook |
Production operations (/product_operation_rows): type, resource, time | Process steps with durations and setup times | Katana → SkyPlanner | Initial load, then on change |
Resources (resource_id, resource_name on operation rows) | Workstations, workstation groups | Katana → SkyPlanner | Initial load, on new resource |
Manufacturing order with operation rows (/manufacturing_orders, /manufacturing_order_operation_rows) | Orders and jobs | Katana → SkyPlanner | Real time via webhook |
MO ingredients (/manufacturing_order_recipe_rows) | Materials per job | Katana → SkyPlanner | Real time via webhook |
Inventory, purchase orders with arrival dates (/inventory, /purchase_order_rows) | Stock and incoming material | Katana → SkyPlanner | Real time via webhook |
Sales order delivery_date (/sales_orders) | Order due date, customer priority | Katana → SkyPlanner | Real time via webhook |
MO sequence (POST /manufacturing_order_rerank) | Schedule order of open MOs | SkyPlanner → Katana | On schedule change |
MO production_deadline_date (PATCH /manufacturing_orders/{id}) | Planned finish | SkyPlanner → Katana | On schedule change |
Operation row status, total_actual_time (PATCH /manufacturing_order_operation_rows/{id}) | Mobile Confirmations, timelogs | SkyPlanner → Katana | As work is logged |
| Not in Katana | Shifts, absences, setting time matrix, tools, operator counts, alternative workstations | Maintained in SkyPlanner | Set up during onboarding |
Integration patterns
1. Initial master data load. Page through products, materials, variants, recipe rows and product operation rows, throttled under the rate limit. Build SkyPlanner workstations from the distinct resources on the operation rows and keep a 1:1 key. Set shifts, leave and overtime in SkyPlanner per workstation, since Katana has no resource calendar.
2. Order sync. Subscribe to MO, operation row, inventory and purchase order events. On each event, fetch the object from its href and update the job. SkyPlanner treats ordered material as available on the PO delivery date and updates stock when the PO is received. A nightly reconciliation with updated-date filters catches any missed event.
3. Schedule write-back. Two calls put the plan into Katana:
- POST
/manufacturing_order_rerank“moves one or more manufacturing orders to an exact place in the production schedule”. It takes up to 250 open MOs per request, placed at the top, bottom, or before or after a given MO. (source) - PATCH
/manufacturing_orders/{id}setsproduction_deadline_date. Katana accepts it only when automatic deadline calculation for that factory location is off. (source)
The rerank matters beyond the list. In Katana, “higher-priority MOs reserve required materials and subassemblies first”, so the SkyPlanner sequence also decides which MO gets stock in Katana.
4. Shop-floor confirmations. Operators log work with SkyPlanner Mobile Confirmations, Production Timer or Quick Log Mode. SkyPlanner writes status and actual time to the MO operation row. If a plant keeps the Katana Shop Floor App instead, SkyPlanner reads the operation row events. Pick one reporting channel per plant.
5. Ownership and conflict rules. Write them down before go-live:
| Data | Owner |
|---|---|
| Products, recipes, production operations, inventory, purchasing, sales orders | Katana |
| Operation sequence, start and end times, workstation per operation | SkyPlanner |
| MO rank on the Schedule tab and production deadline | SkyPlanner, written to Katana |
| Shifts, absences, setting time matrix, tools, alternative resources | SkyPlanner |
| Operation status and logged time | One channel, chosen in scoping |
Typical project steps
Implementation is normally completed within weeks after onboarding starts. Before that, the 30-day free trial runs on your own data from a Katana CSV export, such as the Tasks list on the Make screen.
The project itself contains:
- Plan and key. Confirm the Katana plan includes the API and Manufacturing Management, and create the API key.
- Deadline mode. Agree to switch automatic deadlines off for the factory location, so SkyPlanner owns production deadlines.
- Mapping. Fix the mapping table, resource keys, ownership rules and the reporting channel.
- Initial load. Products, variants, recipes, production operations, resources.
- Event sync. Webhooks for orders, operations, stock and purchase orders, plus nightly reconciliation.
- Constraint setup in SkyPlanner. Shifts, setting time matrix, tools, operator counts and alternative workstations.
- Write-back. Rerank and deadlines, then operation status and time.
- Parallel testing and go-live. Compare SkyPlanner dates with the current Schedule tab, fix master data, then switch write-back on.
What to plan for in a Katana integration
- Deadline mode wipes dates. “Once automatic mode is enabled, all manual deadlines will be overwritten and cannot be restored.” Decide the mode once, at kickoff.
- No resource calendar. Do not derive shifts from the single Weekly throughput value. Build them per workstation in SkyPlanner.
- Resources only on operation rows. Keep resource names stable in Katana, because they are the key to SkyPlanner workstations.
- Time units.
planned_time_parameteris in seconds, per unit for per-unit operations and in total for process, setup and fixed types. Map the type correctly, or durations are off by the quantity. - Make-to-order groups. In a rerank, MOs linked to the same sales order stay together, so sequence them as a group.
- Rerank semantics changed. Since October 7, 2026, the rerank endpoints place orders exactly where asked. Integrations written for the older behavior need a retest. (source)
The Katana integration: who configures and supports it
The work covers your resources, production operations, order flow and deadline mode. It adds what Katana does not hold: shifts, setting time matrix, tools, operator counts and alternative resources.
- The SkyPlanner team configures it during onboarding and supports it after go-live. Every plant sets up Katana’s resources and operations differently, and this is where that know-how goes.
- Your Katana consultant or integration partner can build it. SkyPlanner provides the REST API, Swagger/OpenAPI documentation and webhooks.
- Your own developers can build on it with an API token. An API token is enough to start, and the SkyPlanner team assists when needed. Product documentation, including purchase orders and the products and materials API, is in the SkyPlanner docs.
SkyPlanner starts from 199 € per month with 5 workstations included, billed monthly. The integration is quoted up front for your process and needs, together with your plan, so you see the full cost before you start. See pricing, features and how Katana’s own scheduling compares in Katana finite capacity scheduling. The overview is on the Katana page, and other ERPs are in the ERP integrations hub.
SkyPlanner reviews from manufacturers
2 hsaved every week
“SkyPlanner has taken our production planning from Excel spreadsheets to real-time production optimization.”
Kalle Kalliomäki, Supply Chain Specialist
UTU · Electrical switchboards and switchgear
Production planning saves 2 hours of working time every week, and a new work queue reaches the line in seconds.
+90%production efficiency
“Efficiency has gone up 90% in production.”
Abdul Rucyinga, Head of IT
Laboratory & Allied · Pharmaceutical manufacturing
Production efficiency is up 90%, and a three-month optimized plan across all workstations takes under 30 minutes.
Fewerstoppages from material shortages
“The value SkyPlanner brings us is that it is a tool that works in daily use, especially for setting delivery dates.”
Tommi Männistö, Production Planning Manager
Eskomatic · Contract machining
Automatic load scheduling gives more accurate delivery dates, and production stoppages caused by material shortages have fallen sharply.
1,000swork orders scheduled automatically
“Production is under control in a different way, and our understanding of capacity is on a completely different level.”
Hannu Ryynänen, CEO
Mamec · Industrial mixers, pumps and high-tech contract manufacturing
Thousands of work orders are scheduled automatically, with a real-time view of production for the whole organization.
FAQ
Does Katana have an API, and which plan do I need?
Yes. Katana offers a public REST API, v1, with an OpenAPI 3.0 spec. Its pricing page lists API access on the Free and Advantage plans. Authentication is a bearer API key from Settings > API.
Can SkyPlanner write the schedule back into Katana?
Yes. SkyPlanner moves open manufacturing orders into its sequence on Katana’s Schedule tab through /manufacturing_order_rerank and writes each MO’s production_deadline_date. Operation status and actual time go to the MO operation rows. The timed plan per workstation lives in SkyPlanner, where operators work from their queue.
Does Katana push changes in real time?
Yes. Katana webhooks cover manufacturing orders, operation rows, inventory, purchase orders and sales orders. SkyPlanner fetches each changed object and reconciles nightly, so a missed event never leaves a stale job.
How do Katana resources become SkyPlanner workstations?
Each distinct resource on Katana’s operation rows becomes a SkyPlanner workstation with a 1:1 key. Shifts, absences and alternative workstations are then set in SkyPlanner.
Can we test SkyPlanner before building the integration?
Yes. The 30-day free trial supports up to 20 workstations with a CSV import from Katana, no credit card needed. Start the trial, or talk to sales to scope the integration.