Environment - Vendor portal, Mailbox, etc. CorrelationProperty_Submit_Invoice Submit_the_invoice Gateway_validation_successful_question_mark Event_1usbnt0 SubProcess_Data_validation_rules Activity_show_errors Event_invoice_validation_failed Activity_1colhao Gateway_16gxu6s Activity_1u89kok Event_1r3yh2k Gateway_05ov5p5 Activity_0o1vc0a Activity_0p88elm Activity_104xpp8 Activity_109lq0m Activity_10p5t0r Gateway_1717c0p Activity_0gkpa9s Gateway_1lbghql Event_0x83ruk Event_0m3ri6v Gateway_1l4tz4i Event_1b58a3z Activity_0gkejaj Activity_1ucvkk4 Activity_0faln91 Activity_0fq1nb4 Activity_1b6tead Event_15y55nw Waku_Message_Pending_Payment Activity_0rae8g6 Activity_1kgaqpf Activity_0cdgqi0 Gateway_1ytq6m7 Activity_11stdua Activity_1ftzr6x Event_0f3d2bp Activity_06b32ar Event_09q0ym0 Activity_1t8wi0r not(isInvoiceSubmitPass) not(isMatch) not(isInvoiceApproved) Flow_00p30u2 Flow_02moyg7 Flow_1ck27i7 Flow_1x4rtop Flow_05ffq52 Flow_02moyg7 Flow_1ck27i7 Flow_1avkxpe Flow_18i6dlo Flow_1d7sgm2 invoice_date_obj = datetime.strptime(invoice.dueDate, '%Y-%m-%d') local_date_time_obj = datetime.strptime(local_date_str, '%Y-%m-%d') if invoice_date_obj > local_date_time_obj: isDueDateAfter = True else: isDueDateAfter = False # Add date of invoice invoice["invoiceDate"] = local_date_str del local_date_time_obj del invoice_date_obj del datetime Flow_0tzjowk {"invoice.contributorName": "Harmeet"} { "isNameNum": false, "invoice.contributorName": "Harmeet" } Flow_1avkxpe Flow_0mvmd06 isNameNum = False for c in invoice.contributorName: if c.isdigit(): isNameNum = True break del c Flow_0mvmd06 Flow_0wp2mcf # Check if there are more than two decimal places invoiceAmount_str = str(invoice.invoiceAmount) d = decimal.Decimal(invoiceAmount_str) d_cnt = d.as_tuple().exponent # Get number of decimal places decimal_cnt = abs(d_cnt) #Delete unneeded variables del d del d_cnt del decimal submit_involce_valication Flow_1d7sgm2 Flow_0tzjowk Flow_0wp2mcf Flow_18i6dlo Validation failed. \n {{ submitInvoiceValidationMessage }} \n Please fix. Flow_13ng1f4 Flow_18cic3h Process milestone should update the process metadata field “milestone reached” Flow_05ffq52 Flow_13ng1f4 not(isInvoiceApproved) whichSubject = "Currency" addNew = False Flow_0v2hmuf Flow_00p30u2 Flow_18cic3h Flow_0bipj9q Flow_0v2hmuf find_user = current_user["username"] isCurrentUser = True Flow_1vxagrf Flow_0bipj9q Flow_1vxagrf Flow_0u5z1vc Flow_12cqm3u Flow_0hev3yn Flow_0hev3yn Flow_02o270g del(filesAccept) Flow_0p6vvu0 Flow_0o94g4u Flow_12cqm3u Flow_0p6vvu0 invoice_file_name = invoice.contributorName + "_" + str(invoice.invoiceId) + ".pdf" Flow_1x4rtop Flow_0u5z1vc # Set Invoice Status invoice["invoiceStatus"] = "Awaiting approval" curCode = invoice.invoiceCurrency curAmount = invoice.invoiceAmount isTest = False invoice.invoiceAmount_str = curAmount_str Flow_0a9w301 Flow_0h1x7y6 Flow_02o270g Flow_0o94g4u Flow_0a9w301 Flow_0h1x7y6 Flow_04fl87d DataObjectReference_12rfrua Flow_0h40vf3 Flow_17xbb2s Flow_0j4xxzp Flow_17xbb2s Flow_05xzdav Flow_0j4xxzp Flow_0h40vf3 Flow_05xzdav # Set Task List task_id = "waku_invoice_submitted" # Set Message should be generated isSetMessage = True Flow_1c5u447 Flow_1gohkts Flow_16bw9hx Flow_16bw9hx Flow_0kngdw4 Flow_1gohkts Flow_04ccp12 Flow_00kky3k Flow_15pzvrr Flow_18xvx8w Flow_0bfs2xe Flow_1v8dszb Flow_1wturr2 Flow_1wturr2 Flow_0lfqk0y Flow_0yvmfqu Flow_1ds4s8o Flow_09wwily Flow_0c0c9mw Flow_1ex5hfx Flow_1c5u447 Flow_1sc1v4y Invoice_Approval_Check Flow_1m8uxeg Flow_04do8x7 Flow_08ftr1r Flow_0lf2mw4 Flow_08ftr1r Flow_0lf2mw4 Flow_12mq72f Flow_12mq72f Flow_02ikttr Flow_02ikttr Flow_1oyagpu Flow_115g94n Flow_1oyagpu Flow_115g94n Flow_1iz4xwz Flow_1iz4xwz Flow_1sc1v4y Flow_1nlal9u annual_salary = 24000 Flow_01eh2ws Flow_1m8uxeg invoice_amount = invoice.invoiceAmount Flow_04do8x7 Flow_1nlal9u Flow_01eh2ws Flow_0kngdw4 Flow_0lfqk0y Flow_1am9jcz Flow_0kx6gsl Flow_1am9jcz Flow_0rbij5a Flow_0kx6gsl Flow_0lyg5zb Flow_0rbij5a Flow_0lyg5zb Flow_0idsdf0 Flow_1cynsak find_user = current_user_extras["team_lead_username"] isCurrentUser = False Flow_0idsdf0 Flow_0mwwhvb Flow_0mwwhvb Flow_04uuejh # Set Team Lead Info team_lead_info = {} team_lead_info["full_name"] = userFullName team_lead_info["first_name"] = userFirstName team_lead_info["email"] = userEmail team_lead_info["team_lead_username"] = userTeamLeadUsername team_lead_info["status_key"] = userStatusKey del(userFullName) del(userFirstName) del(userEmail) # del(userTeamLeadUsername) del(userStatusKey) Flow_04uuejh Flow_1cynsak Flow_0yvmfqu Flow_15pzvrr # Store Team Lead comments elsewhere and clear form comments invoice.commentTeamLead = approvalComment approvalComment = "" # Set if Team Lead rejected invoice.isTeamLeadApprove = isInvoiceApproved Flow_0h96w9j Flow_053ca95 Flow_053ca95 Flow_00tndkb # Set Invoice Status to Approved and Pending Payment invoice.invoiceStatus = "Approved and Pending Payment" Flow_02v6lr2 Flow_00kky3k Flow_0h96w9j Flow_09wwily Flow_02v6lr2 invoice.commentsFinance = approvalComment Flow_1v8dszb timedelta(minutes=3) Process milestone should update the process metadata field “milestone reached” Flow_04fl87d Flow_1ex5hfx Flow_00tndkb Flow_1jfb24q Flow_1wnjy2u Flow_1kwmbz2 Flow_1w7kqay Flow_1buk0a2 Flow_1w7kqay Flow_1buk0a2 Flow_1wnjy2u Flow_1kwmbz2 if isMatch: task_id = "waku_payment_pending_ismatch" else: task_id = "waku_payment_pending_not_ismatch" isSetMessage = True Flow_1jfb24q Flow_0bfs2xe Flow_0c0c9mw Flow_14x1v12 Flow_0umhf4u Flow_1wq6gzs Flow_01i59kw Flow_1d0phao Flow_01i59kw Flow_14x1v12 Flow_0umhf4u # Set who rejected if not(invoice.isTeamLeadApprove): task_id = "waku_invoice_rejected-Team_Lead" else: task_id = "waku_invoice_rejected-Finance" # Set Message should not be set isSetMessage = False Flow_1wq6gzs Flow_1d0phao # Set who rejected if not(invoice.isTeamLeadApprove): waku_message = waku_message_body + "\n- - - - - - - - - - - - - - - - - - - - - - -" + "\nSent: " + local_date_str + " @ " + local_time_str + "\n- - - - - - - - - - - - - - - - - - - - - - -" + waku_message_variables + waku_message_footer else: waku_message = waku_message_body + "\n- - - - - - - - - - - - - - - - - - - - - - -" + "\nSent: " + local_date_str + " @ " + local_time_str + "\n- - - - - - - - - - - - - - - - - - - - - - -" + waku_message_variables * "\nTeam Lead Comments: " + invoice.commentsTeamLead + waku_message_footer Flow_18xvx8w Flow_04ccp12 Flow_1ds4s8o Flow_0xh27vy Flow_0tbbryo Flow_0n3djvs Flow_0lr2fpj Flow_0n3djvs Flow_0lr2fpj Flow_0xh27vy Flow_0tbbryo # Set Task Id task_id = "waku_notify_finance" # Set Message should not be set isSetMessage = True Flow_1a3nz0q Flow_14d1zey Flow_1u7h5vu Flow_1gx63tj Flow_1u7h5vu Flow_1gx63tj Flow_1a3nz0q Flow_14d1zey # Set Task Id task_id = "waku_no_team_lead_response" # Set Message in Call Activity isSetMessage = True topica_one topica_one { "topica_one": "Invoice successfully submitted" }