Environment - Vendor portal, Mailbox, etc. CorrelationProperty_Submit_Invoice Submit_the_invoice Gateway_validation_successful_question_mark Activity_1lq96cy Event_1b58a3z Activity_102t7tk Event_1usbnt0 Activity_0fq1nb4 SubProcess_Data_validation_rules Activity_show_errors Gateway_05ov5p5 Gateway_1717c0p Event_invoice_validation_failed Activity_0o1vc0a Event_Invoice_is_accepted Activity_0p88elm Gateway_1lbghql Event_0x83ruk Event_0m3ri6v Activity_0cfvsk7 Gateway_1l4tz4i Activity_0gkejaj Event_15y55nw Activity_109lq0m Activity_1ucvkk4 Activity_0fsoa08 Activity_104xpp8 Activity_0yrv2bc Activity_1colhao Gateway_16gxu6s Activity_1u89kok Event_1r3yh2k Activity_0cdgqi0 Event_16u0f7b Gateway_1ytq6m7 Activity_1ftzr6x Event_0f3d2bp Activity_06b32ar Event_09q0ym0 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 decimal_cnt = abs(d_cnt) del d del d_cnt del decimal submit_involce_valication Flow_1d7sgm2 Flow_0tzjowk Flow_0wp2mcf Flow_18i6dlo decimal_cnt = 2 # isDueDateAfter = True Validation failed. \n {{ submitInvoiceValidationMessage }} \n Please fix. Flow_13ng1f4 Flow_18cic3h Flow_0wuedtr Flow_12cqm3u Flow_0hev3yn Flow_02o270g Flow_0o94g4u Flow_0gvctch Process milestone should update the process metadata field “milestone reached” Flow_05ffq52 Flow_13ng1f4 Flow_0hev3yn Flow_02o270g Process milestone should update the process metadata field “milestone reached” Flow_1x4rtop Flow_0wuedtr del(filesAccept) Flow_0p6vvu0 Flow_0o94g4u Flow_1c5u447 Flow_1gohkts Flow_16bw9hx Flow_16bw9hx Flow_0kngdw4 Flow_1gohkts Flow_04ccp12 Flow_0xr28gt Flow_1n239ad DataObjectReference_12rfrua Flow_0yvmfqu Flow_00kky3k Flow_18xvx8w Flow_0bfs2xe 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_1v8dszb Flow_1wturr2 Flow_1wturr2 Flow_0lfqk0y Flow_0yvmfqu Process milestone should update the process metadata field “milestone reached” Flow_1n239ad Flow_1ex5hfx Flow_0gvctch Flow_0xr28gt # Set Invoice Status invoice["invoiceStatus"] = "Awaiting approval" temp_test = invoice["invoiceStatus"] # temp_message = "hello " + invoice.invoiceStatus Flow_1v8dszb timedelta(minutes=3) 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_0bfs2xe Flow_0c0c9mw Flow_18xvx8w Flow_04ccp12 Flow_1ds4s8o Flow_1ds4s8o Flow_09wwily Flow_0c0c9mw Flow_053ca95 Flow_1r0a699 Flow_1r0a699 Flow_0h96w9j Flow_053ca95 Flow_09wwily Flow_00kky3k Flow_0h96w9j not(isInvoiceApproved) Flow_12cqm3u Flow_0p6vvu0 invoice_file_name = invoice.contributorName + "_" + str(invoice.invoiceId) + ".pdf" currency_enum_options = [{"value": "AUD", "label": "Australian Dollar (AUD)"}, {"value": "CAD", "label": "Canadian Dollar (CAD)"}, {"value": "EUR", "label": "Euro (EUR)"}, {"value": "GBP", "label": "Pound sterling (GBP)"}, {"value": "SGD", "label": "Singapore Dollar (SGD)"}, {"value": "CHF", "label": "Swiss Franc (CHF)"}, {"value": "USD", "label": "US Dollar (USD)"}] 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 topica_one topica_one { "topica_one": "Invoice successfully submitted" }