Business Rules
Verified against source (5)
application/Matrix.csapplication/BusinessRule.csapplication/ObjectLink.csapplication/AbstractObject.csExtensions/AbstractObjectExtensions.cs
Pricing tiers, routing decisions, eligibility checks, and data-quality requirements change more often than software does. QBO keeps them in configuration that a business analyst can read, test, and change without a release:
- Rules matrices are weighted decision tables. Each row is a rule: a set of input values and the outputs that apply when they match. When several rows match, the one built on the more important inputs wins. Matrices set prices and fees, choose the team and priority for work, decide which workflow or document to use, and sample work for audit.
- Validation rules check data whenever a record is saved. A rule can block the save with an error or let it through with a warning. Because they run on the server, they apply the same way to a person filling in a form, a spreadsheet import, and a partner calling the API.
- Linked records connect records that don’t have a parent-child relationship. For example, you can link the document templates a client uses to that client’s organization record.
Key concepts
Section titled “Key concepts”| Concept | In QBO | What it does |
|---|---|---|
| Matrix | Matrix |
A named decision table that returns the best-matching row for a set of inputs. |
| Input | MatrixDimension |
A column that is matched against data, with a value type, a weight, and an optional XPath. |
| Output | MatrixMeasure |
A column of results, such as a price, a team, or a template name. |
| Rule cell | MatrixFact |
One input value in a row: a value, range, list, or wildcard, which can be set to match or not match. |
| Validation rule | BusinessRule |
Runs a validator whenever a given operation runs on a given kind of record. |
| Validator | RuleValidator |
An XSLT document that returns exceptions (which block the save) and warnings (which don’t). |
| Link | ObjectLink |
Connects a primary record to a linked record, grouped into named sets. |
Where rules are used
Section titled “Where rules are used”Matrices feed many other building blocks. Worklists use them to set the team, person, and priority, and to choose which work to audit. Forms use them to make fields required or hidden. Workflow steps, Ledgers, and Scoring can also use matrix outputs. Any record can set its own fields from a matrix.
Choose your view
Section titled “Choose your view”Use the buttons under the page title. Power user covers building and testing matrices, writing validation rules, and linking records. Developer covers the API for lookups, applying rules to records, and managing links.