集成 / ERP / Acumatica Cloud ERP
Acumatica 集成指南:使用 SkyPlanner APS 进行生产排程
本指南介绍合作伙伴和 IT 团队如何将 Acumatica Cloud ERP (Manufacturing Edition) 接入 SkyPlanner APS。SkyPlanner 与 Acumatica 实现双向集成:
- 导入生产订单及其工序,以及工作中心、设备、工具、班次、库存物料和采购订单。
- 将计划开始和结束日期写入生产订单工序,并锁定订单。
- 将操作员的工时记录以人工和转移单据的形式回传。
- 排程发生变化时,SkyPlanner webhook 会即时推送。
在实施阶段,SkyPlanner 团队会根据您的 Acumatica 配置完成集成设置,并在上线后提供支持。本指南面向希望参与集成,或依据 SkyPlanner 的 REST API 文档(API 参考)自行开发的合作伙伴和开发人员。
Acumatica 的集成接口
集成使用 Acumatica 自带的接口,无需在实例中安装任何组件。
- 基于契约的 REST API。端点采用版本管理,与产品发布版本对应。Manufacturing 端点(例如 2026 R2 对应的 26.200.001)提供
ProductionOrder、OrderOperationDetail、BillOfMaterial、WorkCenter、Machine、Tool、Shift、WorkCenterCrewSchedule、LaborEntry、MoveEntry和MaterialEntry。Default 端点涵盖StockItem、PurchaseOrder和SalesOrder。URL 格式为{instance}/entity/{Endpoint}/{version}/{Entity}。 - 同一端点上的操作。
FirmProductionOrder、UndoFirmProductionOrder、ReleaseLaborEntry、ReleaseMoveEntry和ReleaseMaterialEntry执行的逻辑与界面上的对应按钮相同。 - OData。任何 Generic Inquiry (SM208000) 都可以通过 OData 对外提供。批量读取未完成的生产工序及其日期时,最快的方式是使用查询这些数据的 Generic Inquiry。
- 推送通知 (SM302000)。推送通知基于 Generic Inquiry 或内置查询,将新增和删除的行发送至您配置的 URL。
- 导入和导出方案可使用 CSV 和 Excel 数据提供程序批量加载数据。
实体和操作列表可在 Web Service Endpoints (SM207000) 以及 Acumatica 的 REST 客户端代码库中查看。
身份验证与限制
Acumatica 通过在 Connected Applications (SM303010) 中注册的客户端应用使用 OAuth 2.0 和 OpenID Connect。文档列出的流程包括 Authorization Code、Implicit、Resource Owner Password Credentials 和 Hybrid。进行服务器集成时,应注册专用集成用户,按最小权限原则分配角色,并使用带刷新令牌的 Authorization Code 流程,或 Resource Owner Password Credentials 流程。
许可决定使用上限:License Monitoring Console (SM604000) 显示允许的每分钟 API 请求数和 API 用户数。
SkyPlanner 的 REST API 使用 API 令牌进行身份验证(SkyPlanner Settings > API),接口文档采用 Swagger/OpenAPI。集成教程会逐步指导您完成初次调用。
数据映射
| Acumatica 对象(端点 / 表单) | SkyPlanner 对象 | 方向 | 频率 |
|---|---|---|---|
StockItem(Default;Stock Items IN202500) | 产品和物料 | Acumatica → SkyPlanner | 首次加载,之后增量同步 |
BillOfMaterial (AM208000):物料、工序 | 产品结构、子产品、各产品所需物料 | Acumatica → SkyPlanner | 首次加载,之后在变更时同步 |
| BOM 工序:Setup、Run、Machine、Queue、Finish、Move Time | 工序及其加工时长、准备时间和收尾时间 | Acumatica → SkyPlanner | 首次加载,之后在变更时同步 |
WorkCenter (AM207000)、Machine (AM204500)、WorkCenterSubstitute | 工作中心、工作中心组、效率、替代工作中心 | Acumatica → SkyPlanner | 首次加载,之后很少同步 |
Shift、Work Calendar (CS209000)、WorkCenterCrewSchedule | 班次和人员产能 | Acumatica → SkyPlanner | 每日同步,或在 SkyPlanner 中维护班次 |
Tool (AM205500) | 作为有限资源的工具 | Acumatica → SkyPlanner | 首次加载 |
ProductionOrder 及其 OrderOperationDetail(Planned、Released、In Process) | 订单和作业及其交期、派工优先级、物料需求 | Acumatica → SkyPlanner | 推送通知,或每隔几分钟轮询 |
PurchaseOrder 明细行(Default) | 采购订单及其预计交货日期 | Acumatica → SkyPlanner | 每小时轮询,或在运行排程时轮询 |
| 物料的仓库库存数量 | 库存结余数量 | Acumatica → SkyPlanner | 每小时轮询,或在运行排程时轮询 |
OrderOperationDetail:StartDate、EndDate、WorkCenter | 各工序的计划开始时间、结束时间和工作中心 | SkyPlanner → Acumatica | 排程变更时通过 SkyPlanner webhook 同步 |
FirmProductionOrder 操作 | 锁定已写入的日期,防止 Acumatica APS 更改 | SkyPlanner → Acumatica | 每次回写后 |
LaborEntry、MoveEntry 及其释放操作 | 工时记录、完工数量、操作员报工 | SkyPlanner → Acumatica | 每次报工或每个班次 |
| Acumatica 中无对应项 | 准备时间矩阵、指定操作员、多人协同作业 | 在 SkyPlanner 中维护 | 在实施阶段设置 |
集成模式
1. 首次加载主数据。先读取工作中心、设备、工具、班次和日历,再读取库存物料和物料清单。对于包含多台设备的工作中心,需要确定映射方式:映射为一个工作中心组,将各台设备作为独立工作中心;或整体映射为一个工作中心。Acumatica 的 Basis for Capacity 可帮助您判断工厂采用哪种产能管理方式。
2. 订单同步。从生产订单中读取订单及其工序,而不是从 BOM 中读取。工序会被复制到订单中,计划员也在订单中修改工序。针对未完成订单及工序的 Generic Inquiry 订阅推送通知,或对其进行轮询。同时读取未完成的采购订单明细行。SkyPlanner 将已订购物料视为在采购订单交货日期可用,并在采购订单标记为 Delivered 时更新库存。
3. 排程回写。对于排程引擎安排或调整的每道工序,SkyPlanner 都会将 StartDate 和 EndDate 写入 OrderOperationDetail;如果作业转移到替代工作中心,还会写入工作中心。随后调用 FirmProductionOrder。Acumatica 文档说明:”When you run finite scheduling of production orders, the system does not reschedule the firmed production orders.”(对生产订单执行考虑实际产能约束的生产排程时,系统不会重新排定已锁定的生产订单。)(来源)
4. 车间报工。操作员使用 SkyPlanner Mobile Confirmations 或 Production Timer 记录作业。工时记录会转换为 LaborEntry 单据(每道工序的工时和完工数量)或 MoveEntry 单据(仅数量),再通过对应操作释放。如果车间已经通过 Labor (AM301000) 或 Shop Floor Kiosk 在 Acumatica 中报工,则进度数据向相反方向传输。只能选择一个报工渠道,切勿同时使用两个。
5. 数据归属与冲突处理规则。上线前应以书面形式明确以下规则:
| 数据 | 归属系统 |
|---|---|
| 库存物料、BOM、数量、订单状态、成本核算 | Acumatica |
| 工序顺序、开始和结束时间、工作中心分配 | SkyPlanner |
| 准备时间矩阵、工具、操作员要求、替代资源 | SkyPlanner |
| 班次和缺勤 | 在范围评估阶段选定一个系统 |
| 人工和转移事务 | Acumatica,由 SkyPlanner 工时记录过账生成,或在车间录入 |
冲突主要来自 Acumatica 自带的 APS。Rough Cut Planning 或 APS Maintenance Process 可能会重新计算已由 SkyPlanner 排程的订单日期。每次写入订单后将其锁定,就能避免这种情况。同时,也应在 APS 运行时排除已排程的订单。
典型项目步骤
实施通常可在项目启动后的数周内完成。在此之前,您可以用自己的数据进行 30 天免费试用。通过 Generic Inquiry 将工作中心、未结生产订单及其工序导出到 Excel,再导入 SkyPlanner,验证排程结果。
- 确定映射。敲定映射表、数据归属规则、同步频率和工时过账渠道。
- 配置访问权限。注册连接应用,创建集成用户及角色,并在 Web Service Endpoints 中确认端点版本。先在沙箱中操作。
- 首次加载。加载工作中心、机器、工具、班次、库存物料和 BOM。
- 同步订单。通过推送通知或轮询,同步生产订单、工序和采购订单。
- 在 SkyPlanner 中设置约束。配置准备时间矩阵、指定操作人员、多人作业及备选资源。
- 回写。回写工序日期、锁定订单,并写入工时或转移记录。
- 并行运行。将 SkyPlanner 的日期与现有计划对比,并修正主数据。
- 上线。数据核对一致后,启用回写。
Acumatica 集成需要提前考虑什么
- 确认启用的是哪个 APS 引擎。Classic 和 Optimized 分别存储设置,且只能启用其中一个。首次回写前,请检查 Enable/Disable Features (CS100000)。
- 固定端点版本。版本号是 URL 的一部分。系统升级会增加新的端点版本,因此每次升级都要重新测试。
- 更新工序。部分工序字段通过 REST 只能读取,订单状态也会影响更新。请在沙箱中测试 Released 和 In Process 状态订单的回写顺序。
- 单位与时间字段。运行时间以 Run Units 为基准,机器时间以 Machine Units 为基准。排队时间和转移时间“affect the calculated schedule but do not occupy work center capacity.”(会影响排程计算结果,但不占用工作中心产能。)导入时需仔细换算。
- 统一物料判断依据。Classic APS 要求所有物料足量可用。SkyPlanner 则按日期,依据库存和待到货采购订单进行排程。双方需约定计划员以哪一套结果为准。
- API 限制。每分钟允许的请求数取决于许可证。应使用增量读取和推送通知,而不是每次全量重新加载。
谁负责配置和支持 Acumatica 集成
- SkyPlanner 团队在实施阶段配置集成,并在上线后提供支持。每家工厂使用 Acumatica 的方式都不同,团队会将相关经验用在这些具体配置中。
- 您的 Acumatica 合作伙伴也可以参与。合作伙伴熟悉您的定制内容、Generic Inquiries 和角色。SkyPlanner 提供 REST API、Swagger/OpenAPI 文档和 webhooks。
- 您的开发人员也可以自行开发集成,使用 API 令牌调用同一套 REST API。有 API 令牌即可开始,SkyPlanner 团队会在需要时提供协助。Laboratory & Allied 在 SAP Business One 上就采用了这种方式:在 SkyPlanner 的协助下,其内部 IT 团队基本独立完成了集成。
SkyPlanner 每月 199 € 起,包含 5 个工作中心,按月计费。集成费用会根据您的流程和需求,与订阅方案一起提前报价,让您在开始前了解全部成本。要了解与 Acumatica 自带 APS 的对比,请参阅Acumatica 生产排程;如需概览,请查看 Acumatica 页面;其他系统请见 ERP 集成中心。
制造企业对 SkyPlanner 的评价
2 小时每周节省的时间
“SkyPlanner 让我们的生产计划从 Excel 电子表格迈向了实时生产优化。”
Kalle Kalliomäki,供应链专员
UTU · 配电盘与开关设备
生产计划工作每周节省 2 小时,新的作业队列只需数秒即可下达到产线。
+90%生产效率提升
“生产效率提高了 90%。”
Abdul Rucyinga,IT 负责人
Laboratory & Allied · 药品制造
生产效率提高了 90%,为所有工作中心生成覆盖三个月的优化计划,用时不到 30 分钟。
数以 1,000 计自动完成排程的工单
“我们对生产的掌控方式变了,对产能的认识也达到了全新的水平。”
Hannu Ryynänen,首席执行官
Mamec · 工业搅拌机、泵及高科技合同制造
数千张工单自动完成排程,全公司都能实时了解生产情况。
99.2%准时交付率
“SkyPlanner 让我们能清楚地识别瓶颈,生产管理也更加清晰。”
Toni Tuori,生产经理
Piristeel · 屋面安全设施与雨水系统
今年准时交付率达到 99.2%,排程工作每天最多可节省四小时。
常见问题
Acumatica API 包含生产订单吗?
包含。基于契约的 REST API 通过 Manufacturing 端点提供 ProductionOrder、OrderOperationDetail、BillOfMaterial、WorkCenter、Machine、Tool,以及工时和转移记录,还提供 FirmProductionOrder 等操作。
谁来开发 Acumatica 集成?
SkyPlanner 团队会在导入服务期间,根据您的 Acumatica 配置完成双向集成,并在上线后提供支持。您的 Acumatica 合作伙伴或内部开发人员也可以使用 SkyPlanner 文档所说明的 REST API 开发集成,有 API 令牌即可开始。
这项集成需要 Acumatica APS 吗?
不需要。Acumatica 自带的有限产能排程通过 Rough Cut Planning 表单运行,而 Classic APS 对结束日期在 120 天之后的订单按无限产能排程(来源)。SkyPlanner 会根据生产订单、工序、工作中心、机器和工具,自行生成符合实际产能的精细排程。因此,无论是否启用 APS,集成都能运行;Acumatica 对 APS 的说明是“is subject to licensing”(需要许可证)。Autopilot 持续更新排程,操作人员则通过 Mobile Confirmations 记录作业。
如何防止 Acumatica APS 覆盖 SkyPlanner 的日期?
SkyPlanner 写入每张生产订单的工序日期后,会将该订单设为固定状态。Acumatica 的有限产能排程不会对已固定的订单重新排程。
Acumatica 能实时推送变更吗?
可以。为 Generic Inquiry 配置 Push notifications (SM302000) 后,发生变更的数据行会即时发送到指定 URL。SkyPlanner 自带的 webhooks 则向另一个方向推送排程变更。
集成应采用哪种身份验证方式?
使用在 Connected Applications (SM303010) 中注册的客户端,通过 OAuth 2.0 进行身份验证,并配备专用集成用户和遵循最小权限原则的角色。范围评估时会根据您的实例确认具体流程。