diff --git a/src/apps/doc/views.py b/src/apps/doc/views.py
index 7bda33b..26ee057 100644
--- a/src/apps/doc/views.py
+++ b/src/apps/doc/views.py
@@ -647,7 +647,7 @@ class CompareView(GenericView):
             corporate_cus_info=corporate_cus_info,
         )
         # 触发比对
-        compare.apply_async((application_id, business_type, uniq_seq, None, True),
+        compare.apply_async((application_id, business_type, uniq_seq, None, True, False),
                             queue='queue_compare')
         return response.ok()
 
@@ -708,7 +708,7 @@ class SECompareView(GenericView):
             quotationt_info=quotationt_info
         )
         # 触发比对
-        compare.apply_async((application_id, business_type, uniq_seq, None, False),
+        compare.apply_async((application_id, business_type, uniq_seq, None, False, False),
                             queue='queue_compare')
         return response.ok()
 
@@ -1091,7 +1091,10 @@ class SECMSView(GenericView):
     # pos上传比对信息接口 SE
     @use_args(se_cms_args, location='data')
     def post(self, request, args):
-        self.running_log.info('cms in')
+
+        # 触发比对
+        compare.apply_async((application_id, business_type, uniq_seq, None, False, True),
+                            queue='queue_compare')
         return response.ok()
 
     post.openapi_doc = '''
diff --git a/src/celery_compare/tasks.py b/src/celery_compare/tasks.py
index 3df9500..4b6b680 100644
--- a/src/celery_compare/tasks.py
+++ b/src/celery_compare/tasks.py
@@ -881,6 +881,110 @@ def get_se_compare_info(last_obj, application_entity, detect_list):
     return compare_info, is_gsyh
 
 
+def cms_get_se_compare_info(last_obj, application_entity, detect_list):
+    # {
+    #     "content": {
+    #         "financeCompany": "宝马汽车金融有限公司",
+    #         "contractNo": "CH-B100000123",
+    #         "status": "HIL",
+    #         "branch": "宝马汽车金融有限公司",
+    #         "fpCampaign": "Q1_2021_BMW_BASIC",
+    #         "applicationVersion": 1,
+    #         "submissionDate": {},
+    #         "mortgageType": "Mortgage Contract",
+    #         "dealerRegion": "West",
+    #         "insuranceRealNameCity": false,
+    #         "totalFinanceAmount": 1234.56,
+    #         "terms": 24,
+    #         "dealerName": "乐山长宝汽车销售服务有限公司",
+    #         "tier": "2",
+    #         "province": "四川省",
+    #         "fapiaoIssuerDealer": "乐山长宝汽车销售服务有限公司",
+    #         "customerName": "蔡红",
+    #         "customerIdNo": "511102196706080000",
+    #         "vehicleStatus": "Used",
+    #         "applicationSource": "eApp",
+    #         "contractSource": "Online Sign",
+    #         "applicationRating": 100,
+    #         "applicantInformation": [
+    #             {
+    #                 "applicantType": "Borrower",
+    #                 "customersubType": "TCCOR",
+    #                 "selfEmployedSubType": "CSIBM",
+    #                 "name": "李四",
+    #                 "legalRepName": "张三",
+    #                 "dateOfBirth": {},
+    #                 "nationality": "中国",
+    #                 "establishmentDate": {},
+    #                 "IDInformation": [
+    #                     {
+    #                         "idType": "ITARI",
+    #                         "idNum": "111111199404251100",
+    #                         "idExpiryDate": {}
+    #                     }
+    #                 ]
+    #             }
+    #         ],
+    #         "autoApprovedDetails": {
+    #             "aaType": "CAA1"
+    #         },
+    #         "financialInformation": {
+    #             "vehiclePrice": 1234.56,
+    #             "grossPrice": 1234.56,
+    #             "associatedServicePrice": 1234.56,
+    #             "vehiclePrincipal": 1234.56,
+    #             "associatedServicePrincipal": 1234.56,
+    #             "originationPrincipal": 1234.56,
+    #             "totalDownPayment": 1234.56,
+    #             "vehicleDownPaymentRatio": 1234.56,
+    #             "optionAmount": 1234.56,
+    #             "sumOfMSRPAndOption": 1234.56
+    #         },
+    #         "paymentSchedule": [
+    #             {
+    #                 "no": 3,
+    #                 "grossRentalAmount": 1234.56
+    #             }
+    #         ],
+    #         "associatedServices": [
+    #             {
+    #                 "associatedServices": "机动车保险",
+    #                 "price": 1234.56,
+    #                 "financed": 1234.56,
+    #                 "total": 1234.56
+    #             }
+    #         ],
+    #         "vehicleInformation": {
+    #             "vinNo": "LBV23482934DJFKD"
+    #         },
+    #         "bankAccountDetails": {
+    #             "bankName": "中国银行",
+    #             "accountHolderName": "张三",
+    #             "accountNo": "12312123123123124"
+    #         },
+    #         "insuranceDetails": {
+    #             "insuranceType": "ComprehensiveInsurance",
+    #             "insuranceAmount": "60000000",
+    #             "startDate": {},
+    #             "endDate": {}
+    #         },
+    #         "corporateFinancialInformation": {
+    #             "hashCode": "238231",
+    #             "borrowerName": "张三",
+    #             "fiscalYear": 2019,
+    #             "totaAssets": 1234.56,
+    #             "totalLiabilitiesAndOwnersEquity": 1234.56,
+    #             "cashAndCashEquivalentAtEndOfPeriod": 1234.56,
+    #             "netProfit": 1234.56
+    #         },
+    #         "settlemnetVerification": {
+    #             "applicationNo": "CH-B100000123"
+    #         }
+    #     }
+    # }
+    pass
+
+
 def se_compare_license(license_en, ocr_res_dict, field_list):
     ocr_field, compare_logic, special_expiry_date = consts.SE_COMPARE_FIELD[license_en]
 
@@ -1094,12 +1198,16 @@ def se_result_detect(ocr_res_dict):
         detect_list.append(ocr_res_str is None)
     return detect_list
 
-def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict):
+
+def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict, is_cms):
     try:
         # 比对逻辑
         start_time = datetime.now()
         detect_list = se_result_detect(ocr_res_dict)
-        compare_info, is_gsyh = get_se_compare_info(last_obj, application_entity, detect_list)
+        if is_cms:
+            compare_info, is_gsyh = cms_get_se_compare_info(last_obj, application_entity, detect_list)
+        else:
+            compare_info, is_gsyh = get_se_compare_info(last_obj, application_entity, detect_list)
         compare_result, total_fields, failed_count, successful_at_this_level, failure_reason_str = se_compare_process(
             compare_info, ocr_res_dict, is_gsyh)
         compare_log.info('{0} [SE] [compare success] [entity={1}] [id={2}] [ocr_res_id={3}] [result={4}]'.format(
@@ -1155,14 +1263,17 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res
                               '[error={4}]'.format(log_base, application_entity, application_id, ocr_res_id,
                                                    traceback.format_exc()))
 
+        # cms结果发送
+
 
 @app.task
-def compare(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True):
+def compare(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True, is_cms=False):
     # POS: application_id, application_entity, uniq_seq, None
     # OCR: application_id, business_type(application_entity), None, ocr_res_id
 
-    compare_log.info('{0} [receive task] [entity={1}] [id={2}] [uniq_seq={3}] [ocr_res_id={4}] [is_ca={5}]'.format(
-        log_base, application_entity, application_id, uniq_seq, ocr_res_id, is_ca))
+    compare_log.info('{0} [receive task] [entity={1}] [id={2}] [uniq_seq={3}] [ocr_res_id={4}] [is_ca={5}] '
+                     '[is_cms={6}]'.format(log_base, application_entity, application_id, uniq_seq, ocr_res_id,
+                                           is_ca, is_cms))
 
     # 根据application_id查找最新的比对信息,如果没有,结束
     if is_ca:
@@ -1172,7 +1283,8 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True
     last_obj = comparison_class.objects.filter(application_id=application_id).last()
     if last_obj is None:
         compare_log.info('{0} [comparison info empty] [entity={1}] [id={2}] [uniq_seq={3}] [ocr_res_id={4}] '
-                         '[is_ca={5}]'.format(log_base, application_entity, application_id, uniq_seq, ocr_res_id, is_ca))
+                         '[is_ca={5}] [is_cms]={6}'.format(log_base, application_entity, application_id, uniq_seq,
+                                                           ocr_res_id, is_ca, is_cms))
         return
 
     # 根据application_id查找OCR累计结果指定license字段,如果没有,结束
@@ -1186,13 +1298,14 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True
         ocr_res_dict = result_class.objects.filter(id=ocr_res_id).values(*consts.COMPARE_FIELDS).first()
     if ocr_res_dict is None:
         compare_log.info('{0} [ocr info empty] [entity={1}] [id={2}] [uniq_seq={3}] [ocr_res_id={4}] '
-                         '[is_ca={5}]'.format(log_base, application_entity, application_id, uniq_seq, ocr_res_id, is_ca))
+                         '[is_ca={5}] [is_cms]={6}'.format(log_base, application_entity, application_id,
+                                                           uniq_seq, ocr_res_id, is_ca, is_cms))
         return
 
     if is_ca:
         ca_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict)
     else:
-        se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict)
+        se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict, is_cms)