/**
* When a formidable form submitted, add form's connected product to cart.
*/
add_action('frm_after_create_entry', 'ff_take_user_to_wc_checkout_for_payment', 20, 2);
function ff_take_user_to_wc_checkout_for_payment($entry_id, $form_id) {
$linked_products = get_posts([
'post_type' => 'product',
'post_status' => 'publish',
'numberposts' => 1,
'meta_key' => '_attached_formidable_form',
'meta_value' => $form_id,
'cache_results' => false,
]);
if (empty($linked_products)) {
return;
}
$product_id = $linked_products[0]->ID;
if (!function_exists('WC') || !WC()->session) {
return;
}
if (method_exists(WC()->session, 'set_customer_session_cookie')) {
WC()->session->set_customer_session_cookie(true);
}
WC()->cart->empty_cart();
$entry = FrmEntry::getOne($entry_id, true);
$form_data = $entry->metas;
$addon_total = 0;
foreach ($form_data as $value) {
if (is_string($value) && strpos(trim($value), '$') === 0) {
$price = floatval(str_replace(['$', ','], '', $value));
$addon_total += $price;
}
}
WC()->session->set('addon_total', $addon_total);
WC()->cart->add_to_cart($product_id, 1, 0, [], ['addon_total' => $addon_total]);
if (empty($_POST['frm_ajax'])) {
wp_safe_redirect(wc_get_checkout_url());
exit;
}
}
/**
* When an item is added to the cart, remove other products.
*/
add_filter( 'woocommerce_add_to_cart_validation', 'ff_keep_only_one_product_in_the_cart', 10, 3 );
function ff_keep_only_one_product_in_the_cart( $valid, $product_id, $quantity ) {
if( ! empty ( WC()->cart->get_cart() ) && $valid ) {
WC()->cart->empty_cart();
}
return $valid;
}
/**
* Disable add to cart confirmation message.
*/
add_filter( 'wc_add_to_cart_message_html', '__return_false' );
/**
* Redirect user to checkout page after adding a product to cart.
*/
add_filter ('add_to_cart_redirect', 'ff_redirect_to_checkout');
function ff_redirect_to_checkout() {
global $woocommerce;
$checkout_url = $woocommerce->cart->get_checkout_url();
return $checkout_url;
}
/**
* Calculate formidable add-on prices and add them to the total price in WC checkout.
*/
add_action('woocommerce_before_calculate_totals', 'ff_apply_addon_total_to_cart_price', 10, 1);
function ff_apply_addon_total_to_cart_price($cart) {
if (is_admin() && !defined('DOING_AJAX')) {
return;
}
foreach ($cart->get_cart() as $cart_item) {
if (!empty($cart_item['addon_total'])) {
$base_price = $cart_item['data']->get_price();
$addon_price = floatval($cart_item['addon_total']);
$cart_item['data']->set_price($base_price + $addon_price);
}
}
}
/**
* Use different Authorize.net accounts in checkout.
*/
add_filter( 'option_woocommerce_authorizeaim_settings', function( $woocommerce_authorizeaim_settings ) {
global $woocommerce;
if ( function_exists( 'is_checkout' ) && function_exists( 'get_field' ) && is_checkout() ) {
foreach ( $woocommerce->cart->get_cart() as $cart_item ) {
$product_id = $cart_item['product_id'];
$api_login_id = get_post_meta( $product_id, 'api_login_id', true );
$transaction_key = get_post_meta( $product_id, 'transaction_key', true );
if ( !empty( $api_login_id ) && !empty( $transaction_key ) ) {
$woocommerce_authorizeaim_settings['login_id'] = $api_login_id;
$woocommerce_authorizeaim_settings['transaction_key'] = $transaction_key;
break;
}
}
}
return $woocommerce_authorizeaim_settings;
} );
/**
* When placing a new WC order by submitting formidable,
* set order's customer detail according to the submitted information.
*/
add_action( 'woocommerce_new_order', 'ff_update_customer_data', 10, 2 );
function ff_update_customer_data($order_id,$order){
$postdata = $_POST;
$email = $postdata['la_email'];
$username = $postdata['la_email'];
$args = array(
'user_email' => $email,
'display_name' => $postdata['la_first_name'],
'first_name' => $postdata['la_first_name'],
'last_name' => $postdata['la_last_name']
);
$userdata = wc_create_new_customer($email,$username,'',$args);
$userdata = json_decode(json_encode($userdata), true);
if(isset($userdata['errors'])){
$customer = get_user_by('email',$email);
if($customer){
$user_id = $customer->ID;
}
}else{
$user_id = $userdata;
update_user_meta($user_id, "first_name",$postdata['la_first_name']);
update_user_meta($user_id, "last_name",$postdata['la_last_name']);
}
$address = array(
'first_name' => $postdata['la_first_name'],
'last_name' => $postdata['la_last_name'],
'email' => $email,
'phone' => $postdata['la_ower_phone'],
'address_1' => $postdata['la_buisiness_adddress_1'],
'address_2' => $postdata['la_buisiness_adddress_2'],
'city' => $postdata['la_buisiness_adddress_city'],
'state' => $postdata['la_buisiness_adddress_state'],
'postcode' => $postdata['la_buisiness_adddress_zipcode'],
'country' => 'US'
);
$order = new WC_Order($order_id);
$order->set_customer_id($user_id);
$order->set_address($address, 'billing');
$order->set_address($address, 'shipping');
$order->save();
}
/**
* Link formidable entry with woocommerce order. -- ⇩⇩⇩ --
*/
// 1. Store formidable entry ID in the customer session.
add_action( 'frm_after_create_entry', function( $entry_id, $form_id ) {
WC()->session->set( 'frm_entry_id', $entry_id );
}, 20, 2 );
// 2. Set formidable entry id from session to the order as an order meta.
add_action( 'woocommerce_checkout_create_order', function( $order, $data ) {
if ( $entry_id = WC()->session->get( 'frm_entry_id' ) ) {
$order->update_meta_data( '_frm_entry_id', $entry_id );
}
}, 10, 2 );
// 3. Display the link to the formidable entry on the order details page.
add_filter( 'woocommerce_order_item_display_meta_key', function( $display_value, $meta ) {
if ( $meta->key == '_formidable_form_data' ) {
$display_value = __( 'Formidable Entry', 'formidable-woocommerce' );
}
return $display_value;
}, 10, 2 );
What Is Required on a Statement of Information Form?
Skip to content
What Is Required on a Statement of Information Form?
Corporations, LLCs (Limited Liability Companies), and other types of nonprofit, development, and cooperative businesses are required to file a statement of information with the Secretary of State’s office for your particular state.
What is a statement of information?
A statement of information is a form filled out initially when starting a corporation or LLC and filed within 90 days of registering the business. Businesses must file a new statement of information with their state every year (corporations) or every other year (LLCs) by the due date.
The due date is typically the date of your initial statement of information filing date. However, in some states, your due date could be the date your business began operations. Therefore, it is imperative to ensure you file your statement of information by the due date.
Most states have a “grace period” that allows you to submit your statement of information up to six months before the due date. As such, this gives you plenty of time to file your statement of information and not miss the deadline.
If you should miss the due date and file late, there are penalties and additional fees you could be required to pay. In addition, your state could suspend your business license, preventing you from legally operating your business.
Furthermore, filing on time allows your business to maintain its good standing with your state. As a result, you can request a letter of good standing from the Secretary of State whenever you need one.
What information is reported on a statement of information?
In general, the information reported on your statement of information includes specific details related to your business structure and the type of business. The purpose of the statement of information is to disclose essential details about your business to the state considered “public” information.
The type of information disclosed will vary slightly, depending on whether you are reporting information for a corporation or an LLC.
Statement of Information for Corporations
The information reported on a statement of information for corporations includes:
The corporation name and DBA (Doing Business As) name
The physical business address of the corporation
The list of the corporation’s current officers; i.e., CFO, CEO, Secretary, etc.
The list of the current directors of the corporation
The service of process for an individual agent or registered agent
The type of business operation and industry segment
Please keep in mind, you may also be required to supply various financial reports and financial statements.
The information reported on a statement of information of LLCs includes:
The LLC’s business name and DBA (Doing Business As) name
The LLC’s physical address of operation
The list of the current managers and members, along with their addresses
The service of process for an individual agent or registered agent
The type of business being operated and the market segment
The name and address of the CEO of the LLC
Statement of Information for Nonprofits and Other Entities
The type of information required on a statement of information for nonprofits and other business entities will include similar information as found on the statement of information for corporations and LLCs, such as:
The name of the nonprofit or other business entity
The current list of officers
The current list of directors
The name and address of the CEO
The type of nonprofit organization or other business entity type
The physical address of the operation
The service of process for an individual agent or registered agent
You will also need to file your initial statement of information within 90 days of forming the nonprofit or other business entity. Then, depending on your state’s requirements, you will report either annually or biennially.
Are there other times I must file a statement of information?
Besides annual or biennial filing, you must file a statement of information anytime there are changes in the reported information about your business. It is crucial that you report changes to your business to maintain good standing with your state.
For example, you elect or hire a new CEO for your LLC or elect a new board of directors for your corporation. In either of these situations, you would need to file a statement of information showing the changes to your organization.
However, if you are within your reporting “grace period,” you would not need to file the changes immediately. In this case, you would simply report the changes as part of your annual or biennial filing.
Do I need to file a statement of information if I have no changes to report?
It is not uncommon for a corporation or LLC to not have any changes since the last time they filed their statement of information. In these cases, most states have a special statement of information form that is completed, called a “statement of no change.”
However, if you are required to provide financial reports and data about your business, you will need to provide the most recent information along with the statement of no change.
Generally, the statement of information is filed electronically because it is faster, easier, and more secure than submitting physical copies and mailing them to your Secretary of State. While corporations and LLCs can fill out and complete the statement of information form themselves, they often get assistance from a third party like Fast Filings.
What are the benefits of using Fast Filings?
There are several benefits of using Fast Filings to file your statement of information, including:
Your statement of information is filled out correctly and accurately.
Your statement of information is submitted and filed electronically with your state on time.
You do not have to worry about overlooking important information or forgetting to list it on the form.
You do not have to worry about meeting deadlines or due dates, as we help manage those for you.
You simply provide the requested information when filling out our online form.
We will send you the completed form for your review and approval before submitting it to your state.