diff --git a/mmpac/resources/excel/billdefine/mmpac/pmo_sernio.xml b/mmpac/resources/excel/billdefine/mmpac/pmo_sernio.xml
new file mode 100644
index 00000000..7b168480
--- /dev/null
+++ b/mmpac/resources/excel/billdefine/mmpac/pmo_sernio.xml
@@ -0,0 +1,59 @@
+
+
+    
+        
+            pk_org
+            pk_org
+            String
+            yes
+            yes
+            no
+            no
+        
+        
+            vsndef1
+            vsndef1
+            String
+            yes
+            yes
+            no
+            no
+        
+        
+            vsndef2
+            vsndef2
+            String
+            yes
+            yes
+            no
+            no
+        
+        
+            vsncode
+            vsncode
+            String
+            yes
+            yes
+            no
+            no
+        
+        
+            nsnastnum
+            nsnastnum
+            UFDouble
+            yes
+            yes
+            no
+            no
+        
+    
+
diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/pluginpoint/PmoSerialNoImportProcess.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/pluginpoint/PmoSerialNoImportProcess.java
new file mode 100644
index 00000000..eef786a8
--- /dev/null
+++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/pluginpoint/PmoSerialNoImportProcess.java
@@ -0,0 +1,107 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by FernFlower decompiler)
+//
+
+package nc.bs.mmpac.pmo.pac0002.pluginpoint;
+
+import nc.bs.dao.BaseDAO;
+import nc.bs.framework.common.InvocationInfoProxy;
+import nc.bs.trade.business.HYPubBO;
+import nc.impl.pubapp.pattern.data.bill.BillQuery;
+import nc.jdbc.framework.processor.MapProcessor;
+import nc.vo.ml.NCLangRes4VoTransl;
+import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO;
+import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO;
+import nc.vo.mmpac.pmo.pac0002.entity.PMOSerialNoVO;
+import nc.vo.pub.BusinessException;
+import nc.vo.pub.VOStatus;
+import nc.vo.pub.lang.UFDouble;
+import nc.vo.pubapp.pattern.exception.ExceptionUtils;
+import nccloud.baseapp.core.log.NCCForUAPLogger;
+import nccloud.bs.excel.IXChangeContext;
+import nccloud.bs.excel.plugin.AbstractImportProceeWithContext;
+
+import java.util.Map;
+
+/**
+ * -к
+ *
+ * @author mzr
+ * @date 20250917
+ */
+public class PmoSerialNoImportProcess extends AbstractImportProceeWithContext {
+    private static final BaseDAO dao = new BaseDAO();
+
+    protected void processBillWithContext(Object vo, IXChangeContext context) throws BusinessException {
+        String billtype = context.getSwapContext().getBilltype();
+        String appcode = context.getXChangeConfigInfo().getPagetemplet().getAppcode();
+        String userid = InvocationInfoProxy.getInstance().getUserId();
+        String pk_group = InvocationInfoProxy.getInstance().getGroupId();
+        // PMOAggVO pmoAggVo = (PMOAggVO) vo;
+        PMOSerialNoVO pmoSerialNoVO = (PMOSerialNoVO) vo;
+        if (pmoSerialNoVO != null) {
+            String pk_org = pmoSerialNoVO.getPk_org();// ֯
+            String cmoid = pmoSerialNoVO.getVsndef2();// к
+            String cpmohid = pmoSerialNoVO.getVsndef1();// 
+            String vsncode = pmoSerialNoVO.getVsncode();// к
+            UFDouble nsnastnum = pmoSerialNoVO.getNsnastnum();// 
+            // ѯ
+            String selSql = " SELECT a.cpmohid,b.cmoid" +
+                    " FROM mm_mo b" +
+                    " LEFT JOIN mm_pmo a ON a.cpmohid = b.cpmohid" +
+                    // " LEFT JOIN org_factory c ON c.pk_factory = b.pk_org " +
+                    " WHERE" +
+                    "  a.vbillcode = '[cpmohid]'" +
+                    "  AND b.vrowno = '[cmoid]'" +
+                    "  AND b.pk_org = '[pk_org]'";
+            selSql = selSql.replace("[cpmohid]", cpmohid);
+            selSql = selSql.replace("[cmoid]", cmoid);
+            selSql = selSql.replace("[pk_org]", pk_org);
+            Map pmoIdMap = (Map) dao.executeQuery(selSql, new MapProcessor());
+            String cpmohid1 = "", cmoid1 = "";
+            if (pmoIdMap != null && !pmoIdMap.isEmpty()) {
+                cpmohid1 = (String) pmoIdMap.get("cpmohid");
+                cmoid1 = (String) pmoIdMap.get("cmoid");
+            } else {
+                throw new BusinessException("δѯӦ");
+            }
+            BillQuery query = new BillQuery(PMOAggVO.class);
+            PMOAggVO[] vos = query.query(new String[]{cpmohid1});
+            for (PMOAggVO pmoAggVO : vos) {
+                PMOItemVO[] pmoItemVOS = pmoAggVO.getChildrenVO();
+                for (PMOItemVO pmoItemVO : pmoItemVOS) {
+                    if (cmoid1.equals(pmoItemVO.getCmoid())) {
+                        PMOSerialNoVO pmoSerialNoVO1 = new PMOSerialNoVO();
+                        pmoSerialNoVO1.setCmoid(pmoItemVO.getCmoid());
+                        pmoSerialNoVO1.setPk_group(pmoItemVO.getPk_group());
+                        pmoSerialNoVO1.setPk_org(pmoItemVO.getPk_org());
+                        pmoSerialNoVO1.setPk_org_v(pmoItemVO.getPk_org_v());
+                        pmoSerialNoVO1.setVsncode(vsncode);
+                        pmoSerialNoVO1.setNsnnum(nsnastnum);
+                        pmoSerialNoVO1.setNsnastnum(nsnastnum);
+                        // pmoItemVO.setStatus(VOStatus.UPDATED);
+                        pmoSerialNoVO1.setStatus(VOStatus.NEW);
+                        pmoSerialNoVO1.setDr(0);
+                        this.doAddSave(pmoSerialNoVO1);
+                        // pmoItemVO.setSerialnos(new PMOSerialNoVO[]{pmoSerialNoVO1});
+                    }
+                }
+            }
+        } else {
+            throw new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("5008001_import", "01015362-0002"));
+        }
+    }
+
+    private void doAddSave(PMOSerialNoVO vo) {
+        try {
+            HYPubBO hy = new HYPubBO();
+            String insert = hy.insert(vo);
+            NCCForUAPLogger.debug(insert);
+            // NCLocator.getInstance().lookup(IPMOMaintainService.class).insert(resvo);
+        } catch (BusinessException e) {
+            ExceptionUtils.wrappException(e);
+        }
+
+    }
+}