Calculated Fields Form – AI Form Builder for WordPress – Contact, Payment, Quote, Quiz & More
Calculated Fields Form is a full-featured WordPress form builder plugin. It lets you create any type of form — from simple contact forms to complex multi-step booking systems, quote generators, order forms, and payment forms — without writing a single line of code. Its standout capability is real-time dynamic calculations: form fields can automatically compute results (totals, prices, dates, distances, scores) based on values entered by the user. This makes it the ideal choice whenever a form needs to respond intelligently to user input. Is Calculated Fields Form only for forms with calculations? No. Despite its name, Calculated Fields Form is a complete, general-purpose WordPress form builder suitable for any use case. The “calculated fields” refer to an advanced feature the plugin offers on top of all standard form capabilities. You can use it to build: Contact forms — simple name, email, and message forms Booking and reservation forms — with date pickers and availability logic Quote and estimate forms — with automatic price calculation Order forms — with dynamic product pricing Payment forms — integrated with PayPal, Stripe, and many other gateways Registration and sign-up forms — for events, services, or user accounts Survey and quiz forms — with conditional logic and scoring Lead generation forms — connected to Mailchimp, HubSpot, Salesforce, and more Mortgage and loan calculators — with financial operation modules Shipping and logistics forms — with distance and travel time calculations Why choose Calculated Fields Form over other WordPress form plugins? No recurring fees — all commercial versions are a one-time purchase with lifetime updates AI-powered form builder — generate forms and formulas using an integrated AI assistant AI-powered entries filter — filter form submissions using natural language with integrated AI models 4.9/5 rating with over 960 verified reviews on WordPress.org 40,000+ active installations Compatible with all major page builders — Gutenberg, Elementor, Divi, Beaver Builder, WPBakery, SiteOrigin Extensive add-on ecosystem — payment gateways, CRM integrations, PDF generation, e-signatures, and more Real-time calculations — a capability that most other form plugins lack or offer only in expensive tiers Actively maintained — updated regularly with new features and compatibility fixes At the moment, the plugin supports multiple AI providers, including Anthropic Claude, OpenAI, Gemini, MiniMax, DeepSeek, Kimi, as well as all AI connectors supported by the new WordPress 7.x Connectors module. The visual drag-and-drop form builder requires no developer knowledge. Available controls include: text fields, numbers, currency, date/time pickers, slider controls, email, radio buttons, checkboxes, container fields, multi-page controls, QR code readers, voice recording fields, calculated fields, and many others. All forms are fully mobile responsive. Features Core form builder features: Visual drag-and-drop form builder with an intuitive and interactive interface. General-purpose form controls: radio buttons, checkboxes, dropdown lists, date/time pickers, sliders, numeric fields, currency fields, email fields, text areas, and more. Calculated fields that automatically compute values based on other form fields. Insert as many calculated fields as needed. Advanced formula editor with syntax highlighting and real-time error detection. Conditional logic (dependency rules) to show, hide, enable, or disable fields based on user input — ideal for building guided wizards. Multi-page forms using page break controls between field groups. Field grouping inside container controls (Div, Fieldset, and Popups). Multi-column layout support for organized, professional-looking forms. Dozens of predefined form templates to use as starting points. Multiple design themes and templates. Email notifications sent to the site owner when a form is submitted. Form version history to recover previous versions. Form duplication to reuse existing work. Troubleshooting and optimization tools. Option to exclude forms from search indexing for improved site speed. Supported calculation types: Financial calculations: totals, taxes, discounts, interest rates, loan amortization. Date and time calculations: differences between dates, age calculations, booking duration. Mathematical operations: arithmetic, percentages, rounding, trigonometry, and complex functions. Text processing: string manipulation, concatenation, and formatting. Distance calculations: compute distances and travel times between locations using Google Maps. Chart generation: create charts dynamically from form data using Chart.js. External service calls: retrieve real-time data from third-party APIs within form equations. Page builder integrations: Calculated Fields Form integrates natively with all major WordPress page builders: Classic WordPress Editor Gutenberg (Block Editor) Elementor Page Builder by SiteOrigin Beaver Builder WPBakery Page Builder DIVI Builder For any other editor, use the shortcode to insert forms anywhere: [CP_CALCULATED_FIELDS_ID id="1"] Other features: Duplicate any form to reuse and adapt previous work. Built-in troubleshooting and performance optimization area. Disable forms from search indexing to improve website speed. Form version control to recover previous versions. Free vs. Commercial Versions The free version includes the complete visual form builder, notification emails to the site owner, basic calculation operations, conditional logic, design customization, multi-column layout, submission storage on the website for review, and Math CAPTCHA for spam protection. The commercial versions (Professional, Developer, and Platinum) add Math and Classic CAPTCHA options alongside the free Math CAPTCHA, payment gateway integration, confirmation emails to users, advanced data source controls, financial and distance operation modules, chart generation, CRM integrations, PDF generation, e-signatures, and more. All commercial versions are available as a one-time purchase with lifetime access to plugin updates. Visit https://cff.dwbooster.com/download for details. Professional version features: All features of the free version. Send confirmation emails to users with their submitted data. PayPal integration and Stripe integration — dynamically compute the charge amount using a calculated field. SCA (Strong Customer Authentication) compatible with PSD2 (EU Payment Services Directive). Import and export forms between WordPress sites. Form protection: Math and Classic CAPTCHA, WordPress nonces, and honeypot fields. “Thank You” page with a summary of the form submission. Dashboard widget showing the last week’s form submissions. Form caching to increase rendering speed. Export submissions to CSV for use in Excel, OpenOffice, LibreOffice, or any spreadsheet tool. Developer version features: All features of the free and Professional versions. Advanced controls connected to external data sources: databases, CSV files, WordPress posts, taxonomies, user data, and JSON objects. Financial operations module: interest, amortization, and other financial calculations. Date and time operations module: advanced date arithmetic and formatting. Distance and travel time module: powered by Google Maps. Chart.js operations module: generate dynamic charts from form data. Script to save form data to an external database. Add-ons included in the Developer version: Server-Side Equations add-on: Run equations on the server for better performance and security. Verification Code add-on: Email and phone verification with code input before form submission. WooCommerce add-on: Link forms to WooCommerce products to calculate prices, weight, and dimensions. SalesForce add-on: Sync form data with your Salesforce account. WebHooks add-on: Send form data to Webhook URLs; connect with Zapier, IFTTT, and more. User Permissions add-on: Restrict form access and let users manage their own submissions. User Registration Form add-on: Create user sign-up and registration forms. Platinum version features: All features of the free, Professional, and Developer versions. Extending features add-ons: CSV Generator add-on: Export form data to CSV files and attach them to notification emails. PDF Generator add-on: Create PDF documents from submitted form data and include them in emails. Signature add-on: Add e-signature fields — users can sign using a mouse or touchscreen. Unique Fields Values add-on: Ensure submitted values have not been used in previous submissions. iCal add-on: Send iCal attachments in emails for importing events into Google Calendar, Outlook, and more. Upload Files add-on: Save uploaded files to the WordPress media library and support additional file types. Payment gateway add-ons: PayPal Pro add-on: Accept credit card payments directly on your site without redirecting to PayPal. PayPal Checkout add-on: Integrates PayPal Checkout with support for additional payment methods. Revolut add-on: Accept payments through Revolut. Authorize.Net add-on: Accept payments through Authorize.Net. Stripe add-on: Accept payments using the Stripe payment gateway. Stripe Checkout add-on: Use Stripe Checkout for secure, form-based payments. Skrill Payments Integration add-on: Integrate with Skrill Moneybookers for payment processing. TargetPay (iDeal) add-on: Support payments via iDeal through TargetPay. Mollie (iDeal) add-on: Accept iDeal payments using Mollie. RedSys / Servired / Sermepa add-on: Enable credit card payments through Spanish bank gateways. PayTM add-on: Accept payments via cards, net banking, wallets, and EMI through PayTM. SagePay add-on: Accept secure payments using the SagePay gateway. Sage Payment add-on: Support SSL-based credit card and e-check payments via Sage. eWay add-on: Integrate with eWay for payments in Australia, New Zealand, Singapore, Hong Kong, and Malaysia. Payrexx complementary plugin: Connect forms to the Payrexx payment platform. Square Checkout complementary plugin: Accept all major cards worldwide using Square. Third-party service integrations: Google Places add-on: Enable address autocomplete using the Google Places API. Autocomplete Places add-on: Add address autocompletion via the Photon API. Google Analytics add-on: Track user actions in forms and report to Google Analytics. Dropbox Integration add-on: Move uploaded files automatically to your Dropbox account. WebMerge add-on: Generate PDFs or Office documents via FormStack using submitted form data. Sendinblue Contact add-on: Add or update contacts in Sendinblue from form submissions. PrintFriendly add-on: Create PDF files with PrintFriendly and attach them to notification emails. Mailchimp add-on: Add new subscribers to Mailchimp lists on form submission. Mautic add-on: Add or update contacts in Mautic. HubSpot add-on: Send collected form data to HubSpot CRM contacts. Twilio add-on: Send SMS messages automatically on form submission. ip2location add-on: Detect user location using the ip2location database. Third-party plugin integrations: WooCommerce add-on: Connect forms with WooCommerce to dynamically calculate product prices, sizes, and weight. Easy Digital Downloads add-on: Integrate with Easy Digital Downloads to dynamically calculate product prices. Emma add-on: Add new contacts to Emma email marketing lists. MailPoet add-on: Subscribe users to MailPoet (v2 and v3) mailing lists. AffiliateWP add-on: Connect forms with AffiliateWP for affiliate tracking. The Events Calendar add-on: Create events, venues, and more using submitted form data.= Equation and formula format for calculated fields = Calculated fields support any valid JavaScript expression or function. Below are examples of common formula patterns: Simple arithmetic: fieldname1 + fieldname2 fieldname1 * fieldname2 fieldname1 / fieldname2 fieldname1 - fieldname2 Multiple fields with grouping: fieldname1 * (fieldname2 + fieldname3) Rounding to two decimal places: PREC(fieldname2 / fieldname3, 2) Conditional logic inside a formula: (function () { if (100 < fieldname3) return fieldname1 + fieldname2; if (fieldname3 <= 100) return fieldname1 * fieldname2; })(); Complex formulas using the full function format: (function () { var result = 0; /* Your code here */ return result; })(); Operations and operators available in formulas One of Calculated Fields Form’s key strengths is that any valid JavaScript code can be used in formulas. The plugin also provides a wide library of built-in operations: Mathematical Operations and Operators Conditional Operations Date and Time Operations Health-Related Operations Energy-Related Operations Field Handling Operations Operations for Interacting with External Services Operations for Handling URLs and Query Strings Additional modules available in Developer and Platinum versions: Financial Operations Distance and Travel Time Operations Chart Generation Operations Passing external variables to form equations Use the [CP_CALCULATED_FIELDS_VAR] shortcode to create JavaScript variables from GET or POST parameters, SESSION variables, or COOKIES, and reference them inside form equations: [CP_CALCULATED_FIELDS_VAR name="varname"] Access the variable in a formula using: fieldname1 * cff_var.varname Full documentation: Variable Shortcode Reference Complementary Plugins Odoo Contacts, Google Sheets Integration, WhatsApp Button, Xero Contacts, Zoho Leads, Zoom.us Meetings Integration, Data Collector, WooCommerce Products and Variations Prices, Multilanguage Forms, Progress Bar, Upload Files Path, QR Code Generator, Database Queries, Draft Form Data, Email Validator, Reminder Emails, Rich Text Editor, Submissions Removal, Use Limit, Fields Synchronization, RegExp Validation, Autocomplete Fields, Measurement Units Converter, Create Posts, Currency Exchange, hCaptcha, and growing.
Top keywords
- form52×2.76%
- add-on46×2.44%
- fields30×1.59%
- forms29×1.54%
- operations18×0.96%
- data17×0.90%
- calculated16×0.85%
- calculated fields15×0.80%
- builder13×0.69%
- payments13×0.69%
- form data11×0.58%
- payment11×0.58%
Brilliant Web-to-Lead for Salesforce
Brilliant Web-to-Lead for Salesforce creates a solid integration between your WordPress install(s) and your Salesforce CRM account! People can enter a contact form on your site, and the lead (or case) goes straight into Salesforce CRM: no more copy pasting lead info, no more missing leads: each and every one of them is in Salesforce.com for you to follow up. Features You can fully configure all the different settings for the form, and then use a shortcode to insert the form into your posts or pages, or you can use the widget that comes with the plugin and insert the form into your sidebar! Previous contributors: Joost de Valk ModernTribe Daddy Donkey Labs Filters and Hooks Note: These should be placed in your active theme functions.php or a functionality plugin. Never edit a plugin directly (unless you understand the implications of doing so). You can use Pluginception to create a custom plugin for these to make them independent of your theme: https://wordpress.org/plugins/pluginception/ Filters salesforce_w2l_api_url Change the API url the plugin posts data to. Passes the form type (lead or case) add_filter( 'salesforce_w2l_api_url', 'my_w2l_api_url', 10, 2 ); function my_w2l_api_url( $url, $form_type ){ return 'https://my.custom-api-url.com/something/'; } sfwp2l_validate_field Provide your own validation logic for each field. An error array is passed in, along with the field name, submitted value, and field configuration (type, default value, required, etc). Here’s an example of blocking common free email providers: add_filter('sfwp2l_validate_field','block_non_biz_emails', 10, 4); function block_non_biz_emails( $error, $name, $val, $field ){ if( $name == 'email' ){ $non_biz_domains = array( 'gmail.com', 'yahoo.com', 'hotmail.com', 'aol.com' ); $domain = array_pop(explode('@', $val)); if( in_array( $domain, $non_biz_domains ) ){ $error['valid'] = false; $error['message'] = 'Please enter a business email addresss.'; } } return $error; } You can add to the $non_biz_domains to block other providers as well. salesforce_w2l_form_html HTML of the form before it’s returned to WordPress for display salesforce_w2l_cc_user_from_name Change from name (user confirmation) salesforce_w2l_cc_user_from_email Change from email (user confirmation) salesforce_w2l_cc_admin_from_name Change from name (admin notification) salesforce_w2l_cc_admin_from_email Change from email (admin notification) salesforce_w2l_cc_admin_email_list Adding this code to your functions.php file will add 3 emails to the list. You can add as many as you want and each will get an admin notification email. add_filter('salesforce_w2l_cc_admin_email_list','salesforce_add_emails'); function salesforce_add_emails( $emails ){ //uncomment line below to remove site admin //unset($emails[0]); $emails[]='
[email protected]'; $emails[]='
[email protected]'; $emails[]='
[email protected]'; return $emails; } salesforce_w2l_cc_user_email_content salesforce_w2l_cc_admin_email_content Allows you to filter (append, prepend, modify) the email message content sent to the user or admin(s). add_filter('salesforce_w2l_cc_user_email_content','salesforce_filter_user_message', 10, 1); function salesforce_filter_user_message( $message ){ $message = 'Before the user message' . "\r\n\r\n" . $message . "\r\n\r\n" . 'After the user message'; return $message; } add_filter('salesforce_w2l_cc_admin_email_content','salesforce_filter_admin_message', 10, 1); function salesforce_filter_admin_message( $message ){ $message = 'Before the admin message' . "\r\n\r\n" . $message . "\r\n\r\n" . 'After the admin message'; return $message; } salesforce_w2l_cc_admin_replyto_email Filter the Reply-To email header (e.g. to allow replies to go to the form submitter) salesforce_w2l_returl salesforce_w2l_returl_{Form ID} Allows you to filter the value of a field before it is output to dynamically populate it with a value, auto set it based on another value, etc. Examples: // Filter Return/Success URL on a specific form // salesforce_w2l_returl_{Form ID} add_filter( 'salesforce_w2l_returl_1_tester', 'salesforce_w2l_returl_1_tester_example', 10, 1 ); function salesforce_w2l_returl_1_tester_example( $returl ){ return 'http://123.com'; } salesforce_w2l_success_message salesforce_w2l_success_message_{Form ID} Allows you to filter the contents of the success message before it is output to dynamically populate it with a value, auto set it based on another value, etc. Examples: // Filter Success Message on a specific form // salesforce_w2l_success_message_{Form ID} add_filter( 'salesforce_w2l_success_message_1_tester', 'salesforce_w2l_success_message_1_tester_example', 10, 1 ); function salesforce_w2l_success_message_1_tester_example( $success ){ return 'Testing 123'; } salesforce_w2l_field_value salesforce_w2l_field_value_{Form ID}_{Field Name} Allows you to filter the value of a field before it is output to dynamically populate it with a value, auto set it based on another value, etc. Note that the second filter requires you to replace {Form ID} and {Field Name} to be replaced with the relevant form id and field name. If you need access to the field or form settings in your filter you can use: $field = salesforce_get_field( $field_name, $form_id ); $form = salesforce_get_form( $form_id ); Examples: // Pre-check a checkbox add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_precheck_example', 10, 3 ); function salesforce_w2l_field_value_precheck_example( $val, $field, $form ){ $form_id = 1; // form id to act upon $field_name = 'checkboxfield__c'; // API Name of the field you want to auto check if( $form == $form_id && $field_name == $field && ! $_POST ) return 1; // or whatever the value of your checkbox is return $val; } // Store HTTP referrer in a field (this is not 100% reliable as the browser sends this value to the server) add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_referrer_example', 10, 3 ); function salesforce_w2l_field_value_referrer_example( $val, $field, $form ){ $form_id = 1; // form id to act upon $field_name = 'referrer__c'; // API Name of the field you want to autofill if( $form == $form_id && $field_name == $field ){ if( isset( $_SERVER['HTTP_REFERER'] ) ){ return $_SERVER['HTTP_REFERER']; } } return $val; } // Autofill fields based on thew query string (using Google Analytics tracking variables in this example) add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_querystring_example', 10, 3 ); function salesforce_w2l_field_value_querystring_example( $val, $field, $form ){ $form_id = 1; // form id to act upon $field_name = 'source__c'; // API Name of the field you want to autofill $qs_var = 'source'; // e.g. ?source=foo if( $form == $form_id && $field_name == $field ){ if( isset( $_GET[ $qs_var ] ) ){ return $_GET[ $qs_var ]; } } return $val; } // Autofill a user's country based on IP add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_geoip_example', 10, 3 ); function salesforce_w2l_field_value_geoip_example( $val, $field, $form ){ // Based on this plugin: https://wordpress.org/plugins/geoip-detect/ // Adjust this code to the one used by your geo detection plugin if( !function_exists( 'geoip_detect2_get_info_from_current_ip' ) ) return; $form_id = 1; // form id to act upon $field_name = 'country__c'; // API Name of the field you want to autofill if( $form == $form_id && $field_name == $field ){ $userInfo = geoip_detect2_get_info_from_current_ip(); //$val = $userInfo->country->isoCode; // e.g. US $val = $userInfo->country->name; // e.g. United States } return $val; } // Autofill a date // https://codex.wordpress.org/Function_Reference/current_time // http://php.net/manual/en/function.date.php add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_date_example', 10, 3 ); function salesforce_w2l_field_value_date_example( $val, $field, $form ){ $form_id = 1; // form id to act upon $field_name = 'mydatefield__c'; // API Name of the field you want to auto check if( $form == $form_id && $field_name == $field && ! $_POST ) return current_time('Y-m-d'); // or whatever date format you want return $val; } salesforce_w2l_form_action Allows you to remove the form action. // Remove Form Action add_filter( 'salesforce_w2l_form_action', 'salesforce_w2l_form_action_example', 10, 1 ); function salesforce_w2l_form_action_example( $action ){ return ''; } salesforce_w2l_lead_source Allows you to alter the lead source (per form or globally). // Alter Lead Source add_filter( 'salesforce_w2l_lead_source', 'salesforce_w2l_lead_source_example', 10, 2 ); function salesforce_w2l_lead_source_example( $lead_source, $form_id ){ if( $form_id == 1 ) return 'Example Lead Source for Form #1 on page id #'.get_the_id(); return $lead_source; } salesforce_w2l_post_args Allows filtering of the wp_remote_post arguments (e.g. extend the timeout, increase redirect limit, etc). add_filter( 'salesforce_w2l_post_args', 'salesforce_w2l_post_args_example' ); function salesforce_w2l_post_args_example( $args ){ $args['timeout'] = 10; // http timeout in seconds return $args; } salesforce_w2l_post_data Allows filtering of the post data before it is sent to SalesForce. add_filter( 'salesforce_w2l_post_data', 'salesforce_w2l_post_data_example', 10, 3 ); function salesforce_w2l_post_data_example( $post, $form_id, $form_type ){ error_log( 'POST ARGS = '.print_r( $post, 1 ) ); $post['test'] = 'test'; return $post; } salesforce_w2l_show_admin_nag_message Suppress the organization id missing nag message (return false). add_filter( 'salesforce_w2l_show_admin_nag_message', '__return_false', 10, 1 ); Actions salesforce_w2l_before_submit Allows you to do something (read only) with the post data before it’s submitted to SalesForce. e.g. Send it to another API, log it to a database, etc. If you need to change the data, use the salesforce_w2l_post_data filter. add_action('salesforce_w2l_before_submit', 'salesforce_w2l_before_submit_example', 10, 3 ); function salesforce_w2l_before_submit_example( $post, $form_id, $form_type ){ error_log( 'BEFORE SUBMIT '.print_r($post,1) ); } salesforce_w2l_error_submit Allows you to do something (read only) with the post data when there is an error submitting to SalesForce. e.g. Notify someone via email, log it somewhere, etc. add_action('salesforce_w2l_error_submit', 'salesforce_w2l_error_submit_example', 10, 4 ); function salesforce_w2l_error_submit_example( $result, $post, $form_id, $form_type ){ error_log( 'ERROR SUBMIT ' . print_r($result,1) ); } salesforce_w2l_after_submit Allows you to do something (read only) with the post data after it’s submitted to SalesForce. e.g. Send it to another API, log it to a database, etc. add_action('salesforce_w2l_after_submit', 'salesforce_w2l_after_submit_example', 10, 3 ); function salesforce_w2l_after_submit_example( $post, $form_id, $form_type ){ error_log( 'AFTER SUBMIT '.print_r($post,1) ); } salesforce_w2l_get_prefixed_inputs Allows you to add to or change the list of fields that are auto prefixed by the plugin to avoid collisions with WP Query reserved request parameters add_filter('salesforce_w2l_get_prefixed_inputs', 'salesforce_w2l_get_prefixed_inputs_example', 10, 1 ); function salesforce_w2l_get_prefixed_inputs_example( $fields ){ $fields[] = 'new_field_name'; return $fields; } salesforce_w2l_input_name_prefix Allows you to change the default field name prefix (_sf) used to avoid collisions with WP Query reserved request parameters. add_filter('salesforce_w2l_input_name_prefix', 'salesforce_w2l_input_name_prefix_example', 10, 1 ); function salesforce_w2l_input_name_prefix_example( $prefix ){ return 'sfwp2lprefix_'; }