diff --git a/ic/META-INF/OpenAPI_SCM_IC_INBOUND_EJB60.upm b/ic/META-INF/OpenAPI_SCM_IC_INBOUND_EJB60.upm
new file mode 100644
index 0000000..94a2918
--- /dev/null
+++ b/ic/META-INF/OpenAPI_SCM_IC_INBOUND_EJB60.upm
@@ -0,0 +1,152 @@
+
+
+
+
+
+ nccloud.api.ic.m45.IAPIPurchaseInMaitain
+ nccloud.api.impl.ic.m45.APIPurchaseInMaitainImpl
+
+
+
+ nccloud.api.ic.m45.IAPIPurchaseInQuery
+ nccloud.api.impl.ic.m45.APIPurchaseInQueryImpl
+
+
+
+ nccloud.api.ic.m46.IAPIProductInMaitain
+ nccloud.api.impl.ic.m46.APIProductInMaitainImpl
+
+
+
+ nccloud.api.ic.m46.IAPIProductInQuery
+ nccloud.api.impl.ic.m46.APIProductInQueryImpl
+
+
+
+
+ nccloud.api.ic.m4a.IAPIGeneralInMaitain
+ nccloud.api.impl.ic.m4a.APIGeneralInMaitainImpl
+
+
+
+ nccloud.api.ic.m4a.IAPIGeneralInQuery
+ nccloud.api.impl.ic.m4a.APIGeneralInQueryImpl
+
+
+
+
+ nccloud.api.ic.m4e.IAPITransInMaitain
+ nccloud.api.impl.ic.m4e.APITransInMaitainImpl
+
+
+
+ nccloud.api.ic.m4e.IAPITransInQuery
+ nccloud.api.impl.ic.m4e.APITransInQueryImpl
+
+
+
+
+ nccloud.api.ic.m4x.IAPIDiscardInMaitain
+ nccloud.api.impl.ic.m4x.APIDiscardInMaitainImpl
+
+
+
+ nccloud.api.ic.m4x.IAPIDiscardInQuery
+ nccloud.api.impl.ic.m4x.APIDiscardInQueryImpl
+
+
+
+
+ nccloud.api.ic.m4455.IAPISapplyBillMaintain
+ nccloud.api.impl.ic.m4455.APISapplyBillMaintainImpl
+
+
+
+ nccloud.api.ic.m4455.IAPISapplyBillQuery
+ nccloud.api.impl.ic.m4455.APISapplyBillQueryImpl
+
+
+
+
+ nccloud.api.ic.m4i.IAPIGeneralOutMaintain
+ nccloud.api.impl.ic.m4i.APIGeneralOutMaintainImpl
+
+
+
+ nccloud.api.ic.m4i.IAPIGeneralOutQuery
+ nccloud.api.impl.ic.m4i.APIGeneralOutQueryImpl
+
+
+
+
+ nccloud.api.ic.m4c.IAPISaleOutMaintain
+ nccloud.api.impl.ic.m4c.APISaleOutMaintainImpl
+
+
+
+ nccloud.api.ic.m4c.IAPISaleOutQuery
+ nccloud.api.impl.ic.m4c.APISaleOutQueryImpl
+
+
+
+
+ nccloud.api.ic.m4d.IAPIMaterialOutMaintain
+ nccloud.api.impl.ic.m4d.APIMaterialOutMaintainImpl
+
+
+
+ nccloud.api.ic.m4d.IAPIMaterialOutQuery
+ nccloud.api.impl.ic.m4d.APIMaterialOutQueryImpl
+
+
+
+
+ nccloud.api.ic.m4k.IAPIWhsTransMaintain
+ nccloud.api.impl.ic.m4k.APIWhsTransMaintainImpl
+
+
+
+ nccloud.api.ic.m4k.IAPIWhsTransQuery
+ nccloud.api.impl.ic.m4k.APIWhsTransQueryIpml
+
+
+
+
+ nccloud.api.ic.m4816.IAPIPrePaidInvoiceMaintain
+ nccloud.api.impl.ic.m4816.APIPrePaidInvoiceMaintainImpl
+
+
+
+ nccloud.api.ic.m4q.IAPILocadjustMaintain
+ nccloud.api.impl.ic.m4q.APILocadjustMaintainImpl
+
+
+
+ nccloud.api.ic.m4r.IAPIInvcountMaintain
+ nccloud.api.impl.ic.m4r.APIInvcountMaintainImpl
+
+
+
+ nccloud.api.ic.m4r.IAPIInvcountQuery
+ nccloud.api.impl.ic.m4r.APIInvcountQueryImpl
+
+
+
+ nccloud.api.ic.onhand.IAPIOnhandQuery
+ nccloud.api.impl.ic.onhand.APIOnhandQueryIpml
+
+
+
+ nccloud.api.ic.atp.IAPIATPQuery
+ nccloud.api.impl.ic.atp.ATPQueryIpml
+
+
+
+
+ nccloud.api.ic.m47.IAPISubcontInMaintain
+ nccloud.api.impl.ic.m47.APISubcontInMaintainImpl
+
+
+
+
+
diff --git a/ic/META-INF/icbill.rest b/ic/META-INF/icbill.rest
new file mode 100644
index 0000000..664b232
--- /dev/null
+++ b/ic/META-INF/icbill.rest
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ic/src/private/nccloud/api/impl/ic/m47/APISubcontInMaintainImpl.java b/ic/src/private/nccloud/api/impl/ic/m47/APISubcontInMaintainImpl.java
new file mode 100644
index 0000000..ee042be
--- /dev/null
+++ b/ic/src/private/nccloud/api/impl/ic/m47/APISubcontInMaintainImpl.java
@@ -0,0 +1,45 @@
+package nccloud.api.impl.ic.m47;
+
+import nc.bs.framework.common.NCLocator;
+import nc.itf.ic.m47.ISubcontInMaintain;
+import nc.vo.ic.m47.entity.SubcontInVO;
+import nc.vo.scmpub.check.billvalidate.BillVOsCheckRule;
+import nc.vo.scmpub.res.billtype.ICBillType;
+import nccloud.api.ic.m47.IAPISubcontInMaintain;
+import nccloud.api.impl.ic.m47.check.CheckSubcontInSaveValidator;
+import nccloud.api.impl.ic.m47.fill.SubcontInSaveFillValue;
+import nccloud.openapi.ic.util.ICAPILocationVOUtils;
+import nccloud.openapi.scmpub.pub.TransferCodeToPKTool;
+import nccloud.openapi.scmpub.pub.TransferMapToVOTool;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Classname APISubcontInMaintainImpl
+ * @Description TODO
+ * @Version 1.0.0
+ * @Date 2025/5/15 9:46
+ * @Created by ame
+ */
+public class APISubcontInMaintainImpl implements IAPISubcontInMaintain {
+ @Override
+ public SubcontInVO[] save(List