/**
* 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 );
Annual Report Filing in West Virginia: What You Need to Know
Skip to content
Annual Report Filing in West Virginia:What You Need to Know
Filing a West Virginia annual report is a critical task for businesses operating in the state. It ensures that your business remains in good standing and allows you to update key information with the Secretary of State. Missing deadlines or failing to file can lead to penalties, fines, or even administrative dissolution. To help you navigate this essential responsibility, this guide to annual report filing in West Virginia covers everything you need to know to stay compliant.
Understanding Annual Report Filing Requirements in West Virginia
Every business entity registered in West Virginia is required to file an annual report. This includes corporations, limited liability companies (LLCs), limited partnerships (LPs), and nonprofit organizations. The purpose of the West Virginia annual report filing is to provide the state with up-to-date information about your business, such as:
The principal office address
The names and addresses of officers, directors, or members
The registered agent’s name and address
File Your West Virginia Annual Report!
Need help filing your annual report in West Virginia?
Corporations: Both domestic and foreign corporations must file an annual report.
LLCs: All limited liability companies, whether domestic or foreign, must submit this report.
Nonprofits: Nonprofit organizations must also comply with the annual reporting requirement.
Other Entities: LPs, professional associations, and other registered entities are subject to this rule.
West Virginia Business Annual Report Filing Deadlines
The filing deadline for an annual report in West Virginia is between January 1st and July 1st of each year. This deadline applies to all business entities. It is crucial to file your report on time to avoid penalties.
Late Filing Penalties
If you fail to file your annual report by the July 1 deadline, your business will be assessed a late fee of $50. Continued failure to file can result in administrative dissolution for domestic entities or revocation of the authority to do business in West Virginia for foreign entities.
West Virginia offers both online and mail-in options for filing your annual report.
Filing Online
Visit the West Virginia Secretary of State’s Website: Navigate to the annual report online filing system at the official West Virginia Secretary of State’s website. (You can also utilize an online annual report filing service.)
Log In or Create an Account: Use your business’s unique ID number to log in. If you don’t have an account, create one by providing basic details about your business.
Complete the Form: Fill in the required information, such as the business’s address, officers’ names, and registered agent details. Ensure all information is accurate and up-to-date.
Pay the Filing Fee: The filing fee varies depending on your entity type. For most businesses, the fee is $25. (This does not include any additional service fees.)
Submit the Report: Once completed, review your information and submit the report. You will receive a confirmation receipt via email.
Filing by Mail
Download the Annual Report Form: Obtain the annual report form from the West Virginia Secretary of State’s website.
Complete the Form: Manually fill in the form with the required details about your business.
Include Payment: Enclose a check or money order for the filing fee payable to the West Virginia Secretary of State.
Mail the Form: Send the completed form and payment to the address specified on the form. It must be postmarked before the July 1st deadline.
While filing your West Virginia business annual report may seem straightforward, using an online filing provides several key benefits, including:
Streamlined Process: Online services guide you through the process, ensuring you provide all necessary information and avoid mistakes.
Time Savings: Delegating this task to a service allows you to focus on running your business rather than wasting precious time navigating administrative paperwork.
Automatic Reminders: Online services provide automated reminders for upcoming deadlines, so you never miss a filing date.
Expert Assistance: Filing services are staffed by professionals who understand the nuances of state regulations to ensure your annual reporting is completed correctly.
Compliance Assurance: With the help of an online service, you can feel confident that your report will be filed accurately and on time, avoiding penalties and keeping your business in good standing.
File Your West Virginia Annual Report with FastFilings
Don’t let annual report filing become a source of stress for your business. FastFilings makes it quick and easy to file your annual report in West Virginia. With our user-friendly platform, automated reminders, and expert support, we ensure your business stays compliant without the hassles of navigating the Secretary of State’s website. File your West Virginia annual report with Fasfilings today.