Workflow Orchestration for Research Budget Adjustments and Reimbursement: Maintain Document Versions and Changes

Research Finance: review workflows for version tracking. Compare the source records, required inputs and downstream results before handing the task over.

What this category's data looks like

This category's data involves three types of materials: budget adjustment applications, reimbursement forms, and contract invoices. Budget adjustment applications come from project teams and the finance office, submitted quarterly or upon change events, with fields including adjusted account, amount, date, and responsible person's signature. Reimbursement forms come from the handler, submitted per transaction, with fields including expense details, quantity, date, and approval signature. Contract invoices come from suppliers and finance archives, updated per contract batch, with fields including contract name, invoice number, amount, and receipt. After materials enter the workflow, budget adjustment applications trigger a user selection node, determining whether to go to the adjustment branch or the return branch; reimbursement forms trigger interaction state records, determining whether to go to the preliminary review branch or the re-review branch; contract invoices serve as reference basis, read by subsequent nodes as the branch continues execution. The update rhythm is based on when changes occur, old versions are retained and traceable, and reference synchronization is constrained by branch direction and interaction state records.

Configuration and implementation checks

This step is executed by workflow nodes (user selection and branches), outputting branch direction and interaction state records. The "version ledger and change records" are completed by subsequent nodes continuing execution along the branch. When the user selection node is triggered, the conversation enters an interaction state and records the workflow state; after the user completes the selection, execution continues along the branch corresponding to the chosen option.

ObjectCheckVerification action
Budget adjustment applicationCheck whether the adjusted account, amount, date, and signature are consistent with the reimbursement formTrigger the user selection node, test each option one by one, and check the branch direction and interaction state in the run records
Reimbursement formCheck whether the expense details, quantity, date, and approval signature are consistent with the contract invoiceReference variables and nodeId in subsequent nodes, run once to see whether the selection result variable is passed
Contract invoiceCheck whether the contract name, invoice number, amount, and receipt are consistent with the budget adjustment applicationTrigger an interaction state once, and check the node status and branch connections in the run records
Version ledgerVerify that the current version is unique, old versions are traceable, and references are synchronizedChange one piece of content, and see whether the version number and references are updated synchronously

Three common errors

  • Symptom: The name, quantity, and date of the same record do not match between the budget adjustment application and the reimbursement form. Cause: The two materials are maintained separately, and references are not synchronized according to branch direction.
  • Symptom: An old version of the budget adjustment application is still referenced by the reimbursement form, and the version is not synchronized. Cause: After the interaction is completed, the process stops, and subsequent nodes do not continue execution along the branch.
  • Symptom: The contract invoice lacks a signature or receipt, but the reimbursement form has already entered the re-review branch. Cause: The options and branch connections were not checked one by one, and the default branch was taken even after selecting return.

How to verify the setup

Acceptance for this feature: test each option one by one, check the branch direction and interaction state in the run records, and confirm that variables and nodeId are correctly referenced in subsequent nodes.

Business test: change one piece of content, and see whether the version number and references are updated synchronously.

  • In the node, check the options and branch connections one by one, and confirm that each option corresponds to one branch.
  • Trigger an interaction state once, and check whether the node status and selection result variable in the run records are passed to subsequent nodes.