Skip to main content
Version: Current

Vendor Bills

Overview

The Vendor Bills integration creates vendor bill records in NetSuite from Zudello invoice data.

Direction: 📤 Zudello → NetSuite
Type: Real-time sync
API: NetSuite SOAP API
Frequency: On-demand processing

Key Benefits
  • Real-time vendor bill creation
  • Automatic tax handling with gross amount support
  • Custom field mapping capabilities
  • Support for both item and expense lines
  • Amortization schedule support

Header Field Mappings

The following fields are mapped from Zudello to NetSuite vendor bill headers:

Zudello FieldNetSuite FieldDescription
InvoiceNumbertranIdTransaction reference number
VendorCodeentityVendor reference
InvoiceDatetranDateTransaction date
DueDatedueDatePayment due date
CurrencycurrencyTransaction currency
MemomemoTransaction memo/description
LocationlocationLocation reference
DepartmentdepartmentDepartment reference
ClassclassClass reference
SubsidiarysubsidiarySubsidiary reference
AccountaccountAP account reference
TermstermsPayment terms reference
ApprovalStatusapprovalStatusApproval workflow status

Line Processing

Item Lines

Item-based vendor bill lines are created when the line contains item information:

Zudello FieldNetSuite FieldDescription
ItemCodeitemItem reference
DescriptiondescriptionLine description
QuantityquantityItem quantity
RaterateUnit price
Amountamount/grossAmtLine amount (based on tax config)
LocationlocationLine-level location
DepartmentdepartmentLine-level department
ClassclassLine-level class
TaxCodetaxCodeTax code reference
CustomercustomerCustomer reference
IsBillableisBillableBillable flag
AmortizationSchedamortizationSchedAmortization schedule reference
AmortizStartDateamortizStartDateAmortization start date
AmortizationEndDateamortizationEndDateAmortization end date

Expense Lines

Expense-based vendor bill lines are created when no item is specified:

Zudello FieldNetSuite FieldDescription
AccountaccountExpense account reference
DescriptionmemoLine description
Amountamount/grossAmtLine amount (based on tax config)
LocationlocationLine-level location
DepartmentdepartmentLine-level department
ClassclassLine-level class
TaxCodetaxCodeTax code reference
CustomercustomerCustomer reference
IsBillableisBillableBillable flag
AmortizationSchedamortizationSchedAmortization schedule reference
AmortizStartDateamortizStartDateAmortization start date
AmortizationEndDateamortizationEndDateAmortization end date

API Configuration

SOAP API Method

The integration uses the add operation with the following configuration:

  • Record Type: VendorBill
  • Operation: add
  • Response Handling: Captures internal ID on success

Authentication

Uses token-based authentication with:

  • Account ID
  • Consumer Key
  • Consumer Secret
  • Token ID
  • Token Secret

Special Processing

Tax Handling

The integration supports two tax handling modes:

  1. Tax Exclusive (Default): Uses amount field for line amounts
  2. Tax Inclusive: Uses grossAmt field when tax codes are marked as inclusive

Custom Fields

Custom fields are mapped using the following structure:

  • Script ID mapping from Zudello to NetSuite
  • Support for all custom field data types
  • Array-based field collection

Line Type Detection

Lines are automatically classified as:

  • Item Lines: When ItemCode is provided
  • Expense Lines: When no ItemCode but Account is provided

Processing Logic

Vendor Bill Creation Flow

  1. Header Preparation

    • Map standard fields
    • Add custom fields
    • Set approval status
  2. Line Processing

    • Determine line type (item/expense)
    • Apply tax handling rules
    • Add amortization if configured
  3. API Submission

    • Submit via SOAP API
    • Capture response
    • Store internal ID

Amount Calculations

  • Tax Exclusive: Line amounts exclude tax
  • Tax Inclusive: Line amounts include tax (using grossAmt)
  • Multi-currency: Amounts in transaction currency

Error Handling

Common Errors

Error TypeDescriptionResolution
INVALID_REFInvalid vendor referenceVerify vendor exists in NetSuite
INVALID_FLDInvalid field valueCheck field mappings and data types
INSUFFICIENT_PERMISSIONUser lacks permissionReview user role permissions
UNIQUE_CUST_IDDuplicate transactionCheck for existing transactions
INVALID_ITEM_REFInvalid item referenceVerify item exists and is active
INVALID_ACCTInvalid accountVerify account is active

Retry Logic

  • Automatic retry for transient errors
  • Maximum 3 retry attempts
  • Exponential backoff strategy

Troubleshooting

IssuePossible CauseSolution
Bill not createdAuthentication failureVerify API credentials
Missing vendorVendor not syncedEnsure vendor exists in NetSuite
Tax calculation errorsIncorrect tax setupReview tax code configuration
Custom fields not mappingScript ID mismatchVerify custom field script IDs
Approval workflow issuesWorkflow not configuredCheck approval workflow setup