Shift8 Integration for Gravity Forms and SAP Business One

Shift8 Integration for Gravity Forms and SAP Business One

توسط

A secure WordPress plugin that integrates Gravity Forms with SAP Business One, automatically creating Business Partner records from form submissions.

For a complete setup guide and technical walkthrough, see our blog post: How to integrate SAP B1 (Business One) into WordPress Gravity Forms

Features

  • Seamless Integration: Direct integration with SAP Business One Service Layer API
  • Field Mapping: Flexible mapping between Gravity Forms fields and SAP Business Partner fields
  • Contact Person Support: Map form fields to Contact Persons tab in SAP B1
  • Sales Quotation Creation: Automatically create Sales Quotations with checkbox-based line item mapping
  • Duplicate Detection: Prevent duplicate Business Partners using email OR name+address matching
  • Automatic Form Validation: Real-time validation against SAP field limits before submission
  • Security First: Password encryption, input validation, and secure API communication
  • Real-time Testing: Built-in connection and integration testing tools
  • WP-CLI Testing: End-to-end testing and SAP B1 query commands for developers
  • Comprehensive Logging: Detailed debug logging with sensitive data protection
  • User-Friendly Interface: Intuitive settings and configuration interface
  • Error Handling: Robust error handling with detailed feedback

Features

  • Seamless Integration: Direct integration with SAP Business One Service Layer API
  • Field Mapping: Flexible mapping between Gravity Forms fields and SAP Business Partner fields
  • Security First: Password encryption, input validation, and secure API communication
  • Real-time Testing: Built-in connection and integration testing tools
  • Comprehensive Logging: Detailed debug logging with sensitive data protection
  • User-Friendly Interface: Intuitive settings and configuration interface
  • Error Handling: Robust error handling with detailed feedback

Requirements

WordPress Environment

  • WordPress: 5.0 or higher
  • PHP: 7.4 or higher
  • Gravity Forms: Latest version required

SAP Business One Environment

  • SAP Business One: Version 9.3 or higher
  • Service Layer: Properly configured and accessible
  • User Permissions: SAP user with Business Partner creation rights
  • Numbering Series: Configured for Business Partners in SAP B1

Configuration

Step 1: Configure SAP Connection

  1. Navigate to WordPress Admin > Shift8 > Gravity SAP
  2. Enter your SAP connection details:
    • SAP Service Layer Endpoint: https://your-sap-server:50000/b1s/v1/
    • Company Database: Your SAP company database name
    • Username: SAP user with Business Partner permissions
    • Password: SAP user password (automatically encrypted)
  3. Enable Debug Logging if needed for troubleshooting
  4. Click Save Settings
  5. Click Test SAP Connection to verify connectivity

Step 2: Configure Gravity Forms Integration

  1. Go to WordPress Admin > Forms and select a form
  2. Click Settings > SAP Integration
  3. Check Enable SAP Integration
  4. Enter a Feed Name for identification
  5. Select Business Partner Type (Customer, Vendor, or Lead)
  6. Map form fields to SAP Business Partner fields
  7. Click Update Settings

Step 3: Test Integration

  1. Click Test Numbering Series to verify SAP configuration
  2. Enter test data and click Test Integration
  3. Verify Business Partner creation in SAP Business One

Field Mapping

Main Business Partner Fields

SAP Field
Description
Required
Max Length

CardName
Business Partner Name
Yes
~100 chars

EmailAddress
Email Address
No
Email format

Phone1
Telephone 1
No
~20 chars

Phone2
Telephone 2
No
~20 chars

Cellular
Mobile Phone
No
~20 chars

Fax
Fax Number
No
~20 chars

Website
Website URL
No
URL format

FreeText
Remarks/Notes
No
~254 chars

Address Fields (BPAddresses – appears in General tab)

SAP Field
Description
Required
Max Length

BPAddresses.Street
Street Address
No
~100 chars

BPAddresses.City
City
No
~25 chars

BPAddresses.State
State/Province
No
3-4 chars (codes only!)

BPAddresses.ZipCode
Zip/Postal Code
No
~20 chars

BPAddresses.Country
Country
No
2-letter code

Contact Person Fields (ContactEmployees – appears in Contact Persons tab)

SAP Field
Description
Required
Max Length

ContactEmployees.FirstName
Contact First Name
No
~50 chars

ContactEmployees.LastName
Contact Last Name
No
~50 chars

ContactEmployees.Phone1
Contact Phone
No
~20 chars

ContactEmployees.E_Mail
Contact Email
No
Email format

ContactEmployees.Address
Contact Address
No
~254 chars

Important:
– SAP has strict field length limits. Use state codes (“CA” not “California”) and country codes (“US” not “United States”)
– BPAddresses data appears in the General tab of the Business Partner in SAP B1
– ContactEmployees data appears in the Contact Persons tab of the Business Partner in SAP B1
– You can map address data to either BPAddresses, ContactEmployees, or both depending on your needs

Troubleshooting

Field Length Errors

If you get “Value too long in property” errors:
1. Check that State field uses codes (“CA”, “NY”, “TX”) not full names
2. Verify Country field uses 2-letter codes (“US”, “CA”, “GB”)
3. Keep phone numbers under 20 characters
4. Keep street addresses under 100 characters
5. Keep city names under 25 characters

Connection Issues

  1. Verify SAP Service Layer is running
  2. Check endpoint URL format
  3. Test credentials in SAP Business One
  4. Review debug logs for detailed error information

Numbering Series Issues

  1. Configure numbering series in SAP B1 Administration
  2. Go to Administration > System Initialization > Document Numbering
  3. Set up series for Business Partners
  4. Ensure default series are configured

Security Features

  • Password Encryption: All passwords encrypted using WordPress salts
  • Input Validation: All data sanitized and validated
  • Secure Communication: HTTPS API communication
  • Access Control: Admin-only access with capability checks
  • Debug Protection: Sensitive data automatically redacted from logs

How It Works

  1. User submits Gravity Form with mapped fields
  2. Plugin validates form has SAP integration enabled
  3. Data mapping occurs between form fields and SAP fields
  4. SAP authentication using encrypted credentials
  5. Duplicate detection (if enabled): checks SAP for existing BP matching Email OR (Name + Country + Postal)
    • Existing BP found: reuses the BP, checks for existing Contact Person, adds new contact if needed
    • No match found: creates a new Business Partner with Contact Person
  6. Sales Quotation created and linked to the BP and Contact Person
  7. SAP identifiers (CardCode, DocEntry, InternalCode) stored in GF entry meta
  8. Success/error logging, entry notes, and status column updated

Support

For support and documentation:
– Review debug logs for error details
– Use built-in connection testing tools
– Check SAP Service Layer documentation
– Contact: https://www.shift8web.ca

License

GNU General Public License v3.0 or later

  1. Download the plugin ZIP file
  2. Go to WordPress Admin > Plugins > Add New
  3. Click Upload Plugin and select the ZIP file
  4. Click Install Now and then Activate1. Download the plugin ZIP file
  5. Go to WordPress Admin > Plugins > Add New
  6. Click Upload Plugin and select the ZIP file
  7. Click Install Now and then Activate

سوالات متداول

What are the requirements?

WordPress Environment:
* WordPress 5.0 or higher
* PHP 7.4 or higher
* Gravity Forms plugin (latest version)

SAP Business One Environment:
* SAP Business One version 9.3 or higher
* Service Layer properly configured and accessible
* SAP user with Business Partner creation rights
* Numbering Series configured for Business Partners in SAP B1

How do I configure the plugin?
  1. Navigate to WordPress Admin > Shift8 > Gravity SAP
  2. Enter your SAP connection details
  3. Test the connection
  4. Go to your Gravity Form settings and enable SAP integration
  5. Map your form fields to SAP Business Partner fields
Why am I getting connection errors?

Common solutions:
1. Verify SAP Service Layer is running
2. Check endpoint URL format (should end with /b1s/v1/)
3. Test credentials in SAP Business One directly
4. Review debug logs for detailed error information

How do I set up numbering series in SAP?
  1. Go to SAP B1 Administration > System Initialization > Document Numbering
  2. Set up series for Business Partners
  3. Ensure default series are configured
  4. Test using the built-in numbering series test tool
How do I use checkbox fields for Sales Quotation line items?

Checkbox fields are perfect for product selection forms. Each checkbox option becomes a separate mappable field:

Example: If you have a checkbox field “Select Products” with options “Product A”, “Product B”, “Product C”, they will appear in the field mapping as:
* “Select Products Product A” (Field ID: 15.1)
* “Select Products Product B” (Field ID: 15.2)
* “Select Products Product C” (Field ID: 15.3)

To configure:
1. Enable “Automatically create a sales quotation in SAP B1” in form settings
2. Click “Load ItemCodes from SAP B1” to load available products
3. Map each DocumentLines slot to a specific checkbox option
4. Select the corresponding SAP ItemCode for each slot

How it works:
* Checked boxes Line items are created in the Sales Quotation
* Unchecked boxes Skipped (no line item)
* The quotation is automatically linked to the Business Partner

This is ideal for sample request forms, multi-product orders, and service selection forms.

How do I prevent duplicate Business Partners?

Enable Check for existing Business Partner in your form’s SAP Integration settings. The plugin uses an OR strategy — a match on either condition prevents duplicates:

  • Email match (checked first): EmailAddress matches an existing BP in SAP
  • Name + Address match (fallback): Business Partner Name (case-insensitive) + Country + Postal/ZIP Code

If a match is found, the plugin uses the existing Business Partner instead of creating a duplicate. You can test this with WP-CLI:

wp shift8-gravitysap-bp-lookup search --email="info@example.com"
wp shift8-gravitysap-bp-lookup search --name="Test Company" --country="CA" --postal="M5V 1A1"
wp shift8-gravitysap-bp-lookup run_tests

How are Contact Persons linked to Sales Quotations?

When a Business Partner match is found (or a new one is created), the plugin automatically:

  1. Adds a Contact Person to the Business Partner using the form’s contact data
  2. Retrieves the Contact Person’s InternalCode from SAP
  3. Links the Contact Person to the Sales Quotation via SAP’s ContactPersonCode field

Result in SAP B1:
* Contact Person appears in the Business Partner’s “Contact Persons” tab
* Sales Quotation dropdown shows the correct Contact Person selected
* Contact Person is properly linked for subsequent documents

Technical Note: SAP B1’s ContactPersonCode field requires the numeric InternalCode, not the text Name. The plugin handles this automatically.

×
نظری برای این آیتم موجود نیست.
0 0 رای ها
امتیازدهی
اشتراک در
اطلاع از
0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
نسخه حجم فایل SHA256 تغییرات دانلود
1.6.0 202 کیلوبایت -
دانلود
×
بدون امتیاز

قیمت:

رایگان

نگارش

1.6.0

آخرین انتشار

17 اردیبهشت 1405

آخرین بروزرسانی

3 ماه پیش

نصب های فعال

-

نگارش وردپرس

وردپرس 5.0+

تست شده از نسخه

وردپرس 6.8.5

نگارش PHP

PHP 7.4+

نسخه ها

1 نسخه