Integrations & ERP Custom Fields / Sage 300

Bringing over Custom Fields from Sage 300

This section summarizes how to synchronize different field types from Sage 300 as custom fields in YayPay:

For more details about synchronizing custom fields from ERP systems, see the Bringing over Custom Fields from your ERP section.

Optional Fields 

To sync Sage 300 Optional Fields as custom fields in YayPay:

  1. In YayPay, go to Settings | ERP/CRM Custom Fields page.

  2. Go to either the CUSTOMER LEVEL or INVOICE LEVEL tabs depending on the type of field you want to add.


    You will see a row has already been created for the addition of the new field.

  3. Enter the name of your field from Sage 300 in the Source Field Name.
    To find the Source Field Name in Sage 300, see the example below.

  4. Specify the YayPay Display Name, i.e. how you would like the custom field to be named in YayPay.

  5. Check Is Custom Field?.

  6. Check Aging Filter to include a field and its respective value in the aging filter on the Aging Report page.

  7. Check Display on Statement to make a field and its value available on the Invoices and Statement pages in YayPay.

  8. Check Email Recipient to make the system, custom field (which contains an email address as its value) available in the Recipients combo box when sending email reminders. 
    You can send email reminders from pages such as Global Search, Aging Report, Statement, Invoices, Disputes or Communications pages.

  9. To add another custom field, click Add Field.

  10. Click SAVE (in the top-right corner of the page) to confirm the settings.
    As a result, during the next sync your custom field will be imported to YayPay.


Example Finding the Source Field Name

To find the Source Field Name in Sage 300 use your account or contact your account administrator to do the following:

  1. Go to Common Services | Company Setup | Optional Fields

  2. Select one of the fields in the Optional Field combo-box.During the sync process, the ERP Connector will sync data from the following field:

  3. Go to A/R Setup | Options Fields to create the custom field at the Customer or Invoice Level.

 
 

 

Native Fields

This section described how to synchronize Sage 300 native fields as custom fields in YayPay. You can synchronize native fields such as National Account Number, Group Code, Date Last Maintained, and more.

To do so:

  1. In YayPay, go to Settings | ERP/CRM Custom Fields page.

  2. Go to either the CUSTOMER LEVEL or INVOICE LEVEL tab depending on the type of field you want to add.

  3. Enter the Source Field Name of a Sage 300 native field in Groovy script format:


    The Groovy script format follows this pattern:

    • for customer, it is customer.get{{APIFieldDName}}()

    • for invoices, it is invoice.get{{APIFieldDName}}()

      See the Native Fields and Their Corresponding Groovy Scripts  section below for lists of all the supported native fields and their corresponding Groovy scripts.


  4. Specify the YayPay Display Name, i.e. how you would like the field from Sage 300 to be named in YayPay.

  5. Leave Is Custom Field? unchecked.

  6. Specify any other native fields by repeating these previous steps.

  7. Click on SAVE in the top right corner of the page to confirm the settings.

    During the next sync these native fields will be imported to YayPay.
    If you checked Display on Statement, the newly added fields will be visible on your Statement page:


Native Fields and Their Corresponding Groovy Scripts

The following tables list Sage 300 customer and invoice native fields and their corresponding Groovy methods for the Source Field Name field.

CUSTOMER LEVEL

 

Sage 300 Sage 300 Native Field Groovy Script Format for Source Field Name
Address tab

National Account Number

Business Registration Number

Group Code

Date Last Maintained

Inactive (as of)

On Hold

Short Name

Start Date

Address Line 3

Address Line 4

Email

Website

customer.getNationalAccount()

customer.getBusinessRegistrationNumber()

customer.getGroupCode()

customer.getDateLastMaintained()

customer.getInactiveDate()

customer.getOnHold()

customer.getShortName()

customer.getStartDate()

customer.getAddressLine3()

customer.getAddressLine4()

customer.getEmail()

customer.getWebSite()()

Processing tab

Account Type

Print Statements

Account Set

Terms Code

Billing Cycle

Interest Profile

Payment Code

Delivery Method

Check Language

Credit Bureau Information

Rating

Date

Issue Credit Warning When Total Outstanding Balance Exceeds the Credit Limit of

Transactions Overdue by (Days)

Have Total Amount Exceeding

Currency Code

Rate Type

customer.getAccountType()

customer.getPrintStatements()

customer.getAccountSet()

customer.getTerms()

customer.getBillingCycle()

customer.getInterestProfile()

customer.getPaymentCode()

customer.getDeliveryMethod()

customer.getCheckLanguage()

customer.getCreditBureauNumber()

customer.getCreditBureauRating()

customer.getCreditBureauDate()

customer.getCreditLimitCustomerCurrency()

customer.getDaysOverdue()

customer.getAmountOverdue()

customer.getCurrencyCode()

customer.getRateType()

Invoicing tab

Customer Price List

Customer Type

Primary Ship-To

Inventory Location

FOB Point

Ship Via

Ship-Via Description

Check for Duplicate POs

Allow Partial Shipments

Allow Web Store Shopping

Allow Backorder Quantities

customer.getCustomerPriceList()

customer.getCustomerDiscountType()

customer.getPrimaryShipToLocation()

customer.getInventoryLocation()

customer.getFreeOnBoard()

customer.getShipViaCode()

customer.getShipViaDescription()

customer.getCheckForDuplicatePOs()

customer.getAllowPartialShipments()

customer.getAllowWebStoreShopping()

customer.getAllowBackorderQuantities()

Statistics tab

Total Days to Pay

Average Days to Pay

customer.getNumberOfDaysToPay()

customer.getAverageDaysToPay()

Activity tab

Customer Account Status - Outstanding Balance

Last Statement Balance

Outstanding Retainage

Open Invoice Count

Last Statement Date

Total Days to Pay

Total Invoices Paid

Average Days to Pay

customer.getBalanceDueInFunctionalCurrency()

customer.getLastStatementTotalCustomerCurrency()

customer.getAmountRetainedFunctionalCurrency()

customer.getNumberOfOpenDocuments()

customer.getDateOfLastStatement()

customer.getNumberOfDaysToPay()

customer.getNumberOfPaidInvoices()

customer.getAverageDaysToPay()

Credit Status tab

Customer Credit Status - Outstanding A/R Balance

Number of Open Invoices

Total Invoices Paid

Total Days to Pay

Average Days to Pay

Outstanding Retainage

customer.getBalanceDueInCustomerCurrency()

customer.getNumberOfOpenDocuments()

customer.getNumberOfPaidInvoices()

customer.getNumberOfDaysToPay()

customer.getAverageDaysToPay()

customer.getAmountRetainedCustomerCurrency()

 

 

Delete

 

INVOICE LEVEL

 

Sage 300 Sage 300 Native Field Groovy Script Format for Source Field Name
Document tab

Batch Number

Entry Number

Entered By

Invoice Printed

Customer Currency

Account set

Document Type

Document Date

Posting Date

Fiscal Year/Period

PO Number

Order Number

Apply-To Document

Shipment Details - Ship-To Location Code

Shipment Number

Ship Via

Ship Via Description

Special Instructions

invoice.getBatchNumber()

invoice.getEntryNumber()

invoice.getEnteredBy()

invoice.getInvoicePrinted()

invoice.getCurrencyCode()

invoice.getAccountSet()

invoice.getDocumentType()

invoice.getDocumentDate()

invoice.getAsOfDate()

invoice.getFiscalYear()

invoice.getFiscalPeriod()

invoice.getPONumber()

invoice.getOrderNumber()

invoice.getApplytoDocument()

invoice.getShipToLocationCode()

invoice.getShipmentNumber()

invoice.getShipViaCode()

invoice.getShipViaDescription()

invoice.getSpecialInstructions()

Taxes tab

Export Declaration Number

Tax Group

Calculate Tax

Calculate Tax Reporting

invoice.getExportDeclarationNumber()

invoice.getTaxGroup()

invoice.getDoNotCalculationTax()

invoice.getTaxReportingCalculateMethod()

Terms tab

Terms

Discount Base

As Of Date

Discount Date

Discount Percent

Discount Amount

invoice.getTerms()

invoice.getDiscountBase()

invoice.getAsofDate()

invoice.getDiscountDate()

invoice.getDiscountPercentage()

 invoice.getDiscountAmountAvailable()

Rates tab

Currency Code

Rate Type

Rate Date

Exchange Rate

Apply-To Doc.Orig. Exch.Rate

invoice.getCurrencyCode()

invoice.getRateType()

invoice.getRateDate()

invoice.getExchangeRate()

invoice.getApplytoExchangeRate()

Total tab

Document Amount

Plus Taxes

Document Total

Document Total - Less Prepayment

Less Discount

Less Estimated Tax Withheld

Amount Due

invoice.getTaxableAmount()

invoice.getTaxTotal()

invoice.getDocumentTotalIncludingTax()

invoice.getPrepaymentAmount()

invoice.getFunctionalDiscountAmount()

invoice.getTotalTaxWithholding()

invoice.getAmountDue()

 

Delete

 

Can't find what you need?

Contact our support team support@yaypay.com for help.