Budget Matching Engine Traversing User Hierarchies
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current expense management systems lack efficient methods for associating expense items with relevant budgets based on user hierarchies, transaction dates, and expense types, leading to difficulties in tracking and approving expenses across different budget categories.
Innovation Solution
A system that uses a matching engine to search through budgets stored in a computing system, determining associated budgets for expense items by traversing user hierarchies and matching criteria such as transaction dates and expense types, and provides users with information on budget allocations and pending approvals.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a matching engine traverses user hierarchies to associate expense items with budgets, then the accuracy of budget association is improved, but the computational complexity and processing time increase
Solution Approach 1:
The system performs preliminary actions by pre-traversing user hierarchies and pre-associating budgets with expense types before actual expense processing. When an expense item is submitted, the matching engine retrieves pre-computed associations rather than traversing the entire hierarchy from scratch, significantly reducing processing time while maintaining accurate budget matching.
Solution Approach 2:
The patent implements a nested structure where the matching engine contains multiple layers of association: user hierarchy traversal results are nested within expense type mappings, which are further nested within budget definitions. This hierarchical nesting allows the system to efficiently query budgets by progressively filtering through nested data structures rather than performing exhaustive searches.
2Adaptability or versatility
If the system stores detailed budget information for multiple users and expense types, then the versatility of expense management is improved, but the data storage requirements and retrieval complexity increase
Solution Approach 1:
The patent creates universal budget templates that can serve multiple users and expense types. Instead of storing separate budget definitions for every user-expense combination, the system defines reusable budget templates with parameters for user hierarchy levels and expense categories. A single template can be instantiated multiple times with different parameters, reducing data redundancy while maintaining the ability to manage diverse expense types across the organization.
3Reliability
If the matching engine performs comprehensive searches through all budgets for each expense item, then the completeness of budget matching is improved, but the processing speed decreases
Solution Approach 1:
The matching engine applies local quality optimization by adjusting its search scope based on the specific characteristics of each expense item. For example, if an expense item's type and amount clearly match a specific budget category, the engine performs a targeted local search within that category rather than searching all budgets. This selective approach maintains complete matching for complex cases while accelerating processing for straightforward matches.
Solution Approach 2:
The system implements a two-stage matching process: first, a rapid partial match using key criteria (expense type, user department) to identify candidate budgets; second, a more thorough verification only for candidates that pass the initial filter. This partial action approach ensures that complete matching is achieved when necessary while avoiding the overhead of comprehensive searches for all expense items, thereby improving overall processing speed without sacrificing reliability.
Data Source
AI summary
Some embodiments provide a non-transitory machine-readable medium that stores a program. The program generates a set of documents. The program further loads data associated with each data object in a set of data objects in a document in the set of documents. The program also receives a record from a first user. The record includes a set of items. For each item in the set of items, the program further determines one or more data objects in the set of data objects based on a hierarchy of users by performing a search on the set of documents and associating the item with the one or more data objects in the set of data objects. The program also provides to a second user information for a subset of the set of data objects associated with the second user.


