.toc-list {
position: relative;
}
.toc-list {
overflow: hidden;
list-style: none;
}
.gh-toc .is-active-link::before {
background-color: var(–ghost-accent-color); /* Defines TOC accent color based on Accent color set in Ghost Admin */
}
.gl-toc__header {
align-items: center;
color: var(–foreground);
cursor: pointer;
display: flex;
gap: 2rem;
justify-content: space-between;
padding: 1rem;
width: 100%;
}
.gh-toc-title {
font-size: 15px !important;
font-weight: 600 !important;
letter-spacing: .0075rem;
line-height: 1.2;
margin: 0;
text-transform: uppercase;
}
.gl-toc__icon {
transition: transform .2s ease-in-out;
}
.gh-toc li {
color: #404040;
font-size: 14px;
line-height: 1.3;
margin-bottom: .75rem;
}
.gh-toc {
display: none;
}
.gh-toc.active {
display: block;
}
.gl-toc__icon svg{
transition: transform 0.2s ease-in-out;
}
.gh-toc.active + .gl-toc__header .gl-toc__icon .rotated{
transform: rotate(180deg);
}
.gl-toc__icon .rotated{
transform: rotate(180deg);
}
.gh-toc-container-sidebar{
display: none;
}
.gh-toc-container-content{
display: block;
width: 100%;
}
a.toc-link{
background-image: none !important;
}
.gh-toc-container-content .toc-list-item{
margin-left: 0 !important;
}
.gh-toc-container-content .toc-list-item::marker{
content: none;
}
.gh-toc-container-content .toc-list{
padding: 0 !important;
margin: 0 !important;
}
@media only screen and (min-width: 1200px) {
.gh-sidebar-wrapper{
margin: 0;
position: sticky;
top: 6rem;
left: calc((( 100vw – 928px)/ 2 ) – 16.25rem – 60px);
z-index: 3;
}
.gh-sidebar {
align-self: flex-start;
background-color: transparent;
flex-direction: column;
grid-area: toc;
max-height: calc(100vh – 6rem);
width: 16.25rem;
z-index: 3;
position: sticky;
top: 80px;
}
.gh-sidebar:before {
-webkit-backdrop-filter: blur(30px);
backdrop-filter: blur(30px);
background-color:hsla(0, 0%, 100%, .5);;
border-radius: .5rem;
content: “”;
display: block;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
z-index: -1;
}
.gl-toc__header {
cursor: default;
flex-shrink: 0;
pointer-events: none;
}
.gl-toc__icon {
display: none;
}
.gh-toc {
display: block;
flex: 1;
overflow-y: auto;
}
.gh-toc-container-sidebar{
display: block;
}
.gh-toc-container-content{
display: none;
}
}
))>
Vendor bills are a critical part of AP workflows – the final document in an AP process that specifies how much you need to pay a vendor for a purchase. Getting a vendor bill payment right is important – to ensure accurate payments, prevent fraud, and streamline AP workflows.
However, even a simple vendor bill payment requires multiple checks and approvals before it can be processed. One of the most effective methods to validate vendor bills is 3-way matching.
In this blog, we’ll explore how you can implement a 3-way matching process for Purchase Orders (POs), vendor bills, and receipts, right within Oracle NetSuite.
Whether you’re new to 3-way matching or looking to automate it further in NetSuite, this guide provides a step-by-step overview to make the most of this powerful feature.
What is 3-Way Matching in NetSuite?
In its most common implementation, 3-way matching is a process that matches three primary documents to validate a transaction:
- Purchase Order (PO): The initial request sent to the vendor specifying the goods or services and their costs.
- Receipt: Confirmation that goods or services were received as specified.
- Vendor Bill: The invoice received from the vendor requesting payment.
The goal of 3-way matching is to ensure that the quantity, price, and terms on the vendor bill match those on the PO and receipt. NetSuite’s 3-way matching helps businesses catch errors or discrepancies before processing payment, reducing the chances of overpayments or fraud.
The 3-way match can also be generalised to any 3 documents that may not strictly be the above examples. In some cases, you may also look to do a 4-way match – this includes a quality aspect to the delivered goods (and you need to then check how many of the delivered goods are of acceptable quality).
Why Use 3-Way Matching?
Within accounts payable, 3-way matching is a powerful tool to:
- Enhance Accuracy: By cross-checking POs, receipts, and vendor bills, you ensure that the billed amount matches what was ordered and received.
- Reduce Fraud: Prevent fraudulent transactions by ensuring vendor bills match actual receipts and purchase orders.
- Streamline Workflows: Automate the unnecessary back-and-forth that typically comes with purchase approvals, and reduce manual validation by implementing automated matching rules in NetSuite.
For AP departments, this process minimizes errors and prevents costly mistakes in invoice processing.
How Does 3-Way Matching Work in NetSuite?
NetSuite’s 3-way matching functionality is easy to set up and use. Here’s a simplified breakdown of the process:
1. Create a Purchase Order
- In NetSuite, generate a Purchase Order (PO) detailing the goods or services required. This document includes item details, quantities, prices, and any terms agreed upon with the vendor.
- Automating PO Approvals: To streamline the PO approval process, NetSuite allows multi-level approval workflows, which can help ensure accuracy at this stage.
2. Receive Goods or Services
- When goods arrive, record a Receipt in NetSuite. This receipt confirms that you’ve received the ordered items.
- Partial Receipts: In cases where only part of the order arrives, NetSuite allows partial receipts, which can be helpful for large or staggered shipments.
3. Receive the Vendor Bill
- The vendor sends a Bill for the items delivered. The bill is entered in NetSuite as a vendor bill, capturing all details needed for payment.
- Matching Criteria: For the 3-way match to be valid, NetSuite checks if the PO, receipt, and vendor bill data match based on quantity, price, and line items.
4. Execute the 3-Way Match Validation
- NetSuite automatically validates that the details on the PO, receipt, and vendor bill are consistent. If discrepancies are found (e.g., higher quantities on the bill than received), the system flags these for review.
- Approval Rules: If a mismatch is identified, approval workflows can be triggered. For example, if the vendor bill exceeds the PO amount by more than a set threshold, a manager’s approval may be required.
This is a simplified version of the process – in actual practice each of the above steps has multiple complexities that will come up when implementing this in a production scenario.
To get a flavour of how to implement matching in production NetSuite environments, you can read our blog on matching POs to Vendor Bills in NetSuite.
How To Set Up 3-Way Matching in NetSuite
To implement 3-way matching in NetSuite, follow these steps:
Step 1: Configure Matching Rules
- Go to Setup > Accounting > Accounting Preferences.
- Under the Purchasing/Receiving tab, configure rules for 3-way matching. Define how NetSuite should handle discrepancies, such as setting tolerance levels for price or quantity variations.
Step 2: Enable PO Matching Preferences
- In Vendor Bill Preferences, you can enable settings like Use Purchase Order Rate on Bills, and Bill in advance of Receipt – these settings allow you to customise the 3-way match workflow in NetSuite when linking POs to receipts and bills.
- Set Tolerance Levels: Define allowable tolerances for quantity and cost discrepancies. NetSuite will only flag bills that exceed these tolerances.
Step 3: Set Up Approval Workflows
- Use SuiteFlow to configure approval workflows. You can create automated workflows that trigger reviews for vendor bills with discrepancies.
- Automated Notifications: Set up alerts for discrepancies. For example, if an invoice exceeds the PO cost by more than 5%, an email alert can notify the AP manager.
Step 4: Testing the 3-Way Match
- Before implementing 3-way matching on live transactions, test it on a few sample transactions. Check if NetSuite correctly flags mismatches and triggers approval workflows.
Step 5: Train Your Team
- Ensure that the purchasing, receiving, and AP teams understand the 3-way matching rules and workflows in NetSuite. Provide training on how to resolve mismatches.
Benefits of Automating 3-Way Matching in NetSuite
Automating 3-way matching in NetSuite brings several advantages (that eventually result in massive cost savings):
- Increased Efficiency: By automating matching, AP teams save time on manual reviews, allowing them to focus on more strategic tasks.
- Reduced Errors: Automated matching minimizes human error and catches discrepancies immediately.
- Improved Compliance: Consistent, accurate matching ensures that all payments adhere to company policies and regulatory standards.
- Enhanced Fraud Detection: Flagging mismatches helps identify suspicious transactions, protecting the organization from potential fraud.
Common Issues with 3-Way Matching in NetSuite
While 3-way matching is a valuable process overall, there are a few challenges that your AP team might face:
1. Partial Receipts Causing Mismatches
- When goods are received in parts, NetSuite may flag a mismatch if the vendor bill doesn’t align with the total PO quantity.
- Solution: Use NetSuite’s partial receiving feature, allowing the system to recognize partial receipts and match bills accordingly.
2. Price Variances
- Price changes or fluctuations can cause mismatches if the vendor’s bill doesn’t match the PO’s price.
- Solution: Set a price tolerance level to allow minor variations without triggering alerts. For larger discrepancies, create workflows that route invoices for manual review.
3. Multiple Approvals Delaying Payments
- If approval workflows are too complex, they can delay payments, impacting your vendor relationships negatively.
- Solution: Try to balance efficiency with the required level of review. For example, higher variances could require additional approvals, while minor variances may be auto-approved.
Integrating NetSuite 3-Way Matching with AP Automation Solutions
For businesses looking to further streamline AP processes, integrating 3-way matching with an AP automation platform in NetSuite offers a comprehensive solution.
AP automation solutions like Nanonets provide real-time matching capabilities that minimize manual intervention. Here’s how they enhance the 3-way matching process:
- Real-Time Validation: Automated solutions can verify each transaction in real time, reducing the need for manual matching.
- Advanced Reporting: AP automation platforms provide detailed reports and insights on matching accuracy, enabling you to track mismatches and optimize approval workflows.
- Seamless Integration: By integrating NetSuite’s 3-way matching with an AP automation tool, businesses can automate the entire invoice-to-payment process, reducing cycle times and improving AP efficiency.
Here’s a short demo that shows how this can be done on a workflow automation platform like Nanonets:
Final Thoughts
Implementing 3-way matching in NetSuite is an essential step for any organization seeking to improve AP accuracy, prevent fraud, and optimize workflow efficiency. By setting up clear matching rules, configuring automated workflows, and integrating with AP automation tools, you can transform AP processes and save valuable time and resources.
Whether you’re handling high volumes of invoices or simply looking to improve control over AP processes, NetSuite’s 3-way matching functionality, combined with AP automation, offers a scalable solution that adapts to your organization’s needs.
Frequently Asked Questions
Q: Can 3-way matching be customized for specific vendors in NetSuite?
A: Yes, you can create vendor-specific workflows and tolerance levels for vendors that frequently vary in price or delivery quantity.
Q: What happens if there’s a discrepancy in 3-way matching?
A: If NetSuite detects a discrepancy, it will flag the transaction and follow the approval workflow you’ve configured. AP or purchasing teams can review and resolve the mismatch before proceeding.
Q: Does 3-way matching work with services as well as goods?
A: Yes, NetSuite’s 3-way matching can be applied to both goods and services. However, matching criteria may vary slightly, especially if there are no physical receipts involved for services.