Zoho One vs Clio for Law Firms: An Honest Comparison
Comparing Zoho One and Clio for law firms: pricing, CRM, trust accounting, billing, and which…
NetSuite accounts payable is the control centre for every dollar that leaves your business. From the moment a vendor invoice lands to the moment a payment clears the bank, the AP module tracks the liability, enforces approval rules, executes the payment, and feeds the general ledger, all within a single system. For finance directors and AP managers at companies running 50 to 500 employees, getting this module configured correctly is the difference between a two-day payment cycle and a two-week scramble. This guide covers the full workflow: how the module is structured, how to enter and match vendor bills, how to build approval chains with SuiteFlow, how to run ACH and check payment batches, and how to set up the reporting and controls that auditors and CFOs expect. All of this sits within the broader NetSuite financial management suite, so changes made here ripple correctly into cash management, the general ledger, and financial reporting.

NetSuite AP is a sub-ledger that sits under the general ledger. Every vendor bill creates a journal entry that debits an expense (or asset) account and credits Accounts Payable. When the payment is made, that credit is cleared. The module uses a handful of core record types that work together:
NetSuite supports multi-currency AP natively. If your company pays vendors in EUR, GBP, or SGD, NetSuite calculates exchange gains and losses automatically at payment time based on the rate on the bill date versus the payment date. For multi-subsidiary organisations using OneWorld, each subsidiary has its own AP sub-ledger and can use intercompany bills for shared service charges. The AP module is one of the first functional areas to configure as part of a NetSuite ERP implementation, since vendor records and chart of accounts must be in place before any transactions can be entered.
Before any bill can be entered, three foundational elements must be configured correctly.
Navigate to Vendors > New (or Lists > Relationships > Vendors > New). The minimum required fields are: legal name, subsidiary (OneWorld), and the AP account to use. Best practice fields to complete at setup:
Payment terms drive due date calculation and early payment discount logic. A term of “2/10 Net 30” tells NetSuite: apply a 2% discount if paid within 10 days, otherwise the full amount is due in 30 days. NetSuite calculates the discount amount on the bill and presents it as an option at payment time. You can define split terms (e.g. 50% due in 30 days, 50% in 60 days) for instalment-style vendor contracts.
Under Setup > Accounting > Currencies, enable each currency you use. Exchange rates can be entered manually, or you can enable NetSuite’s Currency Exchange Rate Integration to pull daily rates from a provider. On multi-currency bills, NetSuite posts the AP balance at the bill-date rate. When payment occurs at a different rate, the difference posts automatically to a Realised Exchange Gain/Loss account that you specify in your accounting preferences.
Most AP teams enter bills via Transactions > Payables > Enter Bills. The bill form has two sections: a header (vendor, date, due date, reference number, memo) and line items (expense account or item, amount, department, class, location, project).
Select the vendor and NetSuite auto-fills the currency, terms, and default AP account from the vendor record. Enter the vendor’s invoice number in the Reference No. field. NetSuite can be configured to warn or block duplicate reference numbers for the same vendor, which prevents accidental double-payment. Set the bill date to the invoice date (not the date you enter it), because this controls the due date calculation and the period the liability posts to.
For fixed monthly costs, rent, SaaS subscriptions, retainers, use the Memorised Transaction feature. Save a bill as a memorised transaction with a recurrence schedule (monthly, quarterly, annually). NetSuite generates draft bills on schedule for review before posting, or can auto-post them if your controls allow it. This eliminates the manual re-entry of identical invoices each period.
When a vendor issues a credit note, enter it via Transactions > Payables > Enter Vendor Credits. The credit memo form mirrors the bill form. To apply a credit against an open bill, go to the bill payment screen and tick both the bill and the credit. NetSuite nets the amounts and reduces the payment accordingly. Credits that are not applied remain as open credits on the vendor’s account and appear in the AP Aging report as negative balances.

When purchases flow through a purchase order, NetSuite can enforce matching before a bill is allowed to post. This is a core part of the NetSuite purchase-to-pay process, connecting procurement approval to invoice payment within the same system.
In two-way matching, the bill is linked to the PO and NetSuite compares quantities and prices. To enter a PO-matched bill, open Enter Bills and select the vendor. NetSuite displays a list of open POs for that vendor. Select the relevant PO and the bill lines auto-populate from the PO lines. If the billed quantity or unit price differs from the PO, NetSuite flags the variance. You can configure a tolerance percentage (e.g. 5%) under Accounting Preferences; bills within tolerance can be posted, while those outside require an authorised override.
Three-way matching adds the item receipt to the comparison. The bill can only be posted for quantities that have been received and receipted in NetSuite. This prevents payment for goods not yet delivered. The workflow is:
For service-based POs where there is no physical receipt, two-way matching is more appropriate. You can set the matching preference per item type or globally under Accounting Preferences > Purchase Orders.
Out-of-the-box NetSuite allows you to post a bill without any approval step. For most organisations, this is a control gap. SuiteFlow (NetSuite’s built-in workflow engine) lets you build approval chains that are auditable, configurable, and email-driven, without any custom coding. If you need help designing approval hierarchies that match your signing authority matrix, our NetSuite consulting services team configures these workflows as part of every AP implementation.
Navigate to Customisation > Workflow > Workflows > New. Set the record type to Vendor Bill. Set the trigger to “Before Record Submit” (so the bill cannot be posted without completing approval). The initial state should be “Pending Approval” with a status of “Pending Approval” on the bill record.
Add transitions and conditions to route based on bill attributes. Common routing logic includes:
Conditions use NetSuite’s formula fields. For example, a condition of “Amount (FC) greater than 25000” triggers the CFO step. You can also route by vendor category, subsidiary, or any custom field on the bill.
Each approval state can send an automated email to the approver. Use the “Send Email” action on the state-entry trigger. Include a link to the bill record in NetSuite and the key fields (vendor name, amount, due date) in the email body. Approvers can approve or reject directly from within NetSuite or via the approval link in the email if you have the Email Approval feature enabled.
When an approver is on leave, SuiteFlow supports delegation. Under Setup > Company > Employee record > Delegate Approver, the approver assigns a substitute for a date range. The workflow engine checks delegation before sending approval requests and routes to the delegate automatically. This prevents bills sitting in limbo during holidays or travel.
Every state change, approval, rejection, comment, reassignment, is logged in the workflow instance record. AP managers can view the full history of any bill: who approved it, when, and from which IP address. This log is retained permanently and is accessible under the bill record’s Related Records tab. For SOX-controlled environments, this trail serves as the evidence that the control operated as designed.
Once bills are approved, payments are executed through Transactions > Payables > Pay Bills (individual) or through a payment run batch. The payment run is the more efficient method for AP teams paying multiple vendors on a schedule.
Navigate to Transactions > Payables > Payment Run > New. Select the bank account (subsidiary-specific if using OneWorld), payment method, and a payment date. Set the “Pay Through Date” to filter bills due on or before a specific date: this is the primary filter for selecting which bills to include. You can also filter by vendor, currency, or a custom bill field.
The system presents a list of eligible bills. Review and deselect any you want to hold. For bills with early payment discount terms, NetSuite flags bills where the discount window is still open and shows the discounted amount. Selecting those bills pays the discounted amount and posts the discount to your early payment discount income account.
ACH requires the Electronic Payments SuiteApp (available in the NetSuite SuiteApp marketplace). Once installed, vendor bank details are stored encrypted on the vendor record. The payment run generates a NACHA-format ACH file that you upload to your bank’s payment portal. NetSuite marks the bills as paid immediately upon posting the run; the actual bank settlement takes one to two business days. Remittance emails are sent automatically to the vendor’s AP email address configured on the vendor record.
For vendors requiring physical checks, the payment run generates a check register. If you have NetSuite’s Check Printing feature configured, you can print directly to pre-printed check stock from a connected printer, with the check number auto-incrementing from the bank account’s current check sequence. Check payments are posted to the bank account immediately and clear the open AP balance.
Wires are typically processed outside NetSuite through your bank’s wire portal, then recorded in NetSuite as a manual payment (Transactions > Payables > Pay Bills > select vendor > apply to bill > payment method: Wire). Some banks and treasury management integrations allow wire instruction files to be generated from NetSuite, but this requires a custom integration. The key is ensuring the wire reference number from your bank statement is recorded in the NetSuite payment record to simplify bank reconciliation.
To void a payment, open the bill payment record and click Void. NetSuite reverses the GL entry and reopens the underlying bill. For a stale check that was never cashed, void the check and reissue with a new check number. For a payment sent to the wrong vendor, void, correct the vendor on the bill, and reprocess. All voids are logged with the voiding user, date, and reason if you require a void reason via a custom field on the bill payment form.
For organisations looking to reduce manual steps across this entire cycle, automating your accounts payable workflow covers how AP automation tools integrate with NetSuite to handle invoice capture, coding, and payment scheduling with minimal human touchpoints.

For companies based in the United States that pay independent contractors, freelancers, or unincorporated service providers, 1099 reporting is an annual compliance obligation. NetSuite handles 1099 tracking and form generation natively.
On the vendor record, check the “1099 Eligible” box and select the applicable 1099 type from the dropdown: 1099-NEC (non-employee compensation), 1099-MISC (miscellaneous income), or others. The 1099-NEC threshold is USD 600 paid to the vendor in the calendar year. NetSuite tracks cumulative payments per vendor and flags those that have crossed the threshold.
Navigate to Reports > Tax > 1099 Detail. Run the report for the relevant calendar year to review all 1099-eligible payments by vendor. This report shows the total amount paid, the 1099 category, and whether the vendor’s tax ID (SSN or EIN) is on file. Missing tax IDs must be resolved before filing: request a completed W-9 from any vendor where this field is blank.
NetSuite can generate 1099 forms for printing and mailing, and some versions support electronic filing via the IRS FIRE system directly. If you use a third-party service like Tax1099 or Yearli, you can export the 1099 data from the report as a CSV and upload it to the filing platform. Deadlines: 1099-NEC forms must be provided to recipients and filed with the IRS by January 31 each year.
The Vendor Center is a self-service portal where vendors can log in to view their open purchase orders, submitted invoices, and payment history. Enable it under Setup > Company > Enable Features > Web Presence > Vendor Center. You assign vendors a portal login (they receive an email invitation), and they can submit invoices directly into NetSuite as vendor bills in pending approval status. This eliminates email-based invoice submission and creates a documented audit trail from submission to payment. The vendor can also download remittance details and annual payment summaries independently, reducing inbound vendor queries to your AP team.
A well-configured netsuite accounts payable module generates the reporting your finance team needs without manual spreadsheet exports.
Navigate to Reports > Payables > Accounts Payable Aging. This report shows open bills grouped by vendor and aged into buckets: Current, 1–30 days overdue, 31–60 days, 61–90 days, and 90+ days. Run this weekly as part of cash planning. Bills in the 60+ day bucket should trigger an immediate review: either there is a dispute, an approval bottleneck, or a cash flow issue that needs surfacing to the CFO. The report can be filtered by subsidiary, currency, vendor, or any custom field you have added to the bill record.
DPO measures how many days, on average, it takes your company to pay its suppliers. The formula is: (Accounts Payable / Cost of Goods Sold) x Number of Days. NetSuite does not have a native DPO metric on its standard dashboard, but you can create a saved search or KPI scorecard that calculates it from the AP balance and COGS figures. A rising DPO can indicate cash conservation or, if suppliers are reacting negatively, a signal that payment terms need renegotiation.
Build a NetSuite dashboard for AP managers using the following portlets:
This dashboard gives an AP manager a real-time view without running reports manually. Portlets refresh on each login and can be shared as a published dashboard to all AP team members.
Proper role design prevents a single user from creating a bill, approving it, and processing the payment, the classic fraud triangle. NetSuite’s role-based permissions allow you to separate these functions cleanly:
| Role | Can Create Bills | Can Approve Bills | Can Process Payments | Can Void Payments |
|---|---|---|---|---|
| AP Clerk | Yes | No | No | No |
| AP Manager | Yes | Yes (up to limit) | Yes | No |
| Finance Director | No | Yes (all amounts) | No | Yes |
| Controller | No | No | No | Yes |
Configure these restrictions under Setup > Users/Roles > Manage Roles. The “Enter Vendor Bills” permission controls creation. The “Approve Vendor Bills” permission (available as a SuiteFlow workflow permission) controls approval. “Pay Bills” controls payment runs, and “Void Payments” should be restricted to the controller or a senior finance role only.
For companies subject to external audit, run a User Access Review quarterly: pull a saved search of all users with AP-related permissions and confirm that no individual holds both bill creation and bill payment rights simultaneously. Document and sign off this review. Auditors will ask for it.
What is the difference between a vendor bill and a vendor credit in NetSuite accounts payable?
A vendor bill records an amount you owe a supplier and increases your AP liability. A vendor credit records an amount the supplier owes you, due to a return, overpayment, or price adjustment, and reduces your AP balance. You apply credits against open bills at payment time so the net payment reflects the correct amount owed.
Can NetSuite enforce three-way matching for all vendor bills automatically?
NetSuite can require that a bill be linked to both a purchase order and an item receipt before it can be posted, but this applies only to item-type bill lines. Expense-type lines (where no physical receipt exists) use two-way matching against the PO. You configure the matching requirement under Accounting Preferences and can apply different rules per item type.
How do I handle a vendor bill in a foreign currency when the exchange rate changes between invoice date and payment date?
NetSuite posts the bill at the exchange rate on the bill date. When you run the payment at a later date with a different rate, the system automatically calculates the difference and posts it to your Realised Foreign Exchange Gain or Loss account. You set which account to use under Setup > Accounting > Accounting Preferences > General Ledger.
What happens if a bill is rejected in the SuiteFlow approval workflow?
When an approver rejects a bill, SuiteFlow transitions it back to a “Rejected” status and sends an email notification to the submitter. The bill cannot be posted in its current state. The AP clerk must review the rejection reason (recorded in the workflow audit trail), correct the bill, adjusting the amount, coding, or attachments as needed, and resubmit it to restart the approval chain from the beginning.
Do I need the Electronic Payments SuiteApp to run ACH payments in NetSuite?
Yes. Standard NetSuite does not include ACH file generation natively. The Electronic Payments SuiteApp (developed and maintained by NetSuite/Oracle) adds the ability to store encrypted vendor bank details and generate NACHA-format ACH files from payment runs. It is available through the SuiteApp marketplace and requires installation by a NetSuite administrator. Some third-party payment platforms like Corpay or AvidXchange also integrate with NetSuite and offer ACH processing without this SuiteApp.
How does the NetSuite Vendor Center reduce AP team workload?
The Vendor Center lets suppliers submit invoices directly into NetSuite through a self-service portal, view their open POs and payment status, and download remittance information without contacting your AP team. This eliminates the manual step of receiving invoices by email and re-entering them, and reduces inbound “when will I get paid?” queries. Bills submitted through the portal enter a pending approval queue in NetSuite, keeping your approval workflow intact.
Configuring NetSuite accounts payable correctly, from vendor setup and approval workflows to payment runs and audit controls, requires both technical knowledge and an understanding of your finance team’s processes. Our NetSuite consultants work with AP managers and finance directors to design AP configurations that reduce manual effort and pass external audits.
Book a free consultationNetSuite accounts payable is not a set-and-forget module. As your vendor base grows, your approval thresholds shift, and your compliance obligations evolve, the configuration needs to keep pace. Start with clean vendor records and properly defined terms, build approval workflows that reflect your actual signing authority matrix, and invest in the reporting infrastructure, aging reports, DPO tracking, and the open bill dashboard, that gives your finance team real-time visibility. A well-run AP module pays for itself in early payment discounts captured, duplicate payments avoided, and audit cycles that finish on schedule.
Tell us what you are working through and a senior architect from our team will get back to you with a straight answer, usually within a couple of working days. No bot, no hard sell.
A senior architect will get back to you at , usually within a couple of working days. Worth checking your spam folder, just in case.
Tell us what you are actually trying to do. You will get a straight answer from a senior architect who has done this before, not a sales rep.
A senior architect will get back to you at , usually within a couple of working days. Worth checking your spam folder, just in case.
Ask it now and a senior architect will get back to you, usually within a couple of working days. It goes to our team, not a mailing list.
A senior architect will get back to you at , usually within a couple of working days. Worth checking your spam folder, just in case.