/**
* 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 );
Dissolving an LLC vs. Moving an LLC to a Different State
Skip to content
Dissolving an LLC vs. Moving an LLC to a Different State
When your business changes direction or location, you often face an important choice: dissolve your LLC or move it to a new state. Both options carry different costs, legal implications, and processes. Choosing the right path depends on your business goals, future plans, and current obligations.
What Does It Mean to Dissolve an LLC?
Dissolving an LLC means officially closing it with the state. You notify the state that your business no longer exists and take steps to wrap up its affairs. This includes paying off debts, distributing any remaining assets, and filing final tax forms.
When an LLC is dissolved, it loses its legal status. It can no longer enter contracts, open bank accounts, or conduct any business.
LLC Termination vs. Dissolution
Many people confuse LLC termination vs. dissolution. Dissolution refers to the legal process of starting the shutdown. Termination is the final step after debts are paid, assets are distributed, and the business is officially closed in the eyes of the law.
Dissolution happens first. Termination comes last. Together, they mark the full legal end of your LLC.
Should I Dissolve My LLC or Move It to a New State?
If you’re relocating, you might think about moving your LLC to a different state. But in some cases, it’s better to dissolve the old LLC and form a new one in your new location. Here’s how the two options compare.
Dissolving an LLC
You might choose to dissolve your LLC if:
You’re no longer running the business
You want a fresh legal start
You don’t want to deal with ongoing obligations in your previous state
Pros:
Clean break from your old state’s fees and regulations
No need to file annual reports or pay future taxes
Simpler if you plan to start a different business model
Cons:
You’ll need to create a brand new LLC
Business licenses, EINs, and bank accounts may need to be redone
Approximate Costs:
State dissolution filing fees vary widely and can be a few hundred dollars but only need to be paid in one state
You plan to keep the same business name, model, and structure
You want to keep your tax ID and maintain contracts
Pros:
Keeps your business identity intact
May allow you to retain licenses and accounts
Cons:
Often more complex than dissolving
You may owe fees in both states for a period of time
Some states don’t allow direct LLC moving (domestication)
May be more expensive than dissolution, depending on the nature of fees and taxes
Could face tax liabilities in both states during the transition
Costs to expect:
Domestication or foreign registration fees also vary widely and can be a few hundred dollars, with fees in both the old state and the new state
Annual report and business license fees in both states during the changeover
Potential state income or franchise tax obligations in both states until fully moved
Ultimately, whether you choose to move or dissolve your LLC depends on what you and any other LLC members envision for the future of the company. If you want to continue doing business but aren’t sure which route to take, consider if operations and changes will be easier to tackle with your existing basis or a clean slate.
To dissolve an LLC, you need to follow legal steps set by the state where it was formed. Each state has its own rules, but the general process is similar.
Here’s how to dissolve an LLC:
Vote to Dissolve: LLC members must agree to close the business. Check your operating agreement for voting rules.
File Articles of Dissolution: Submit official paperwork to the Secretary of State. This document notifies the state that you are closing the LLC.
Notify Creditors and Settle Debts: Inform lenders, vendors, and other stakeholders. Pay off any outstanding obligations.
Distribute Remaining Assets: After debts are paid, divide any remaining assets among the members according to your agreement.
Cancel Permits and Licenses: Close any business licenses, registrations, and permits tied to the LLC.
File Final Tax Returns: Submit final state and federal tax forms. Mark them as final to signal the business is ending.
Close Business Accounts: Shut down the LLC’s bank accounts and any vendor accounts.
Once these steps are completed, your LLC will be fully dissolved. For a faster, easier process, try our reliable LLC dissolution services.
There are a few ways to move an LLC from one state to another. The best method depends on your original state, your destination state, and how your business operates.
Here’s how to move an LLC to another state:
Check State Rules on Domestication: Not all states allow LLC domestication (also called conversion). If both your old and new states allow it, this is the cleanest method.
File for Domestication: Submit the required forms in both states. This process transfers your LLC to the new state without dissolving it.
Notify the IRS: Update your business address with the IRS. Your EIN may stay the same if the business entity doesn’t change.
Update Licenses and Registrations: Apply for business licenses in your new state. Cancel those in the old state if no longer needed.
Amend Operating Agreement: Update your LLC’s operating agreement to reflect changes in law or address.
If domestication isn’t allowed, you’ll need to either:
Register the existing LLC as a foreign LLC in the new state, or
Dissolve the old LLC and form a new one in your new state
Moving an LLC to a different state can keep your business identity consistent, but it takes more paperwork. Be sure to compare this process with simply dissolving and starting fresh.
FastFilings Makes It Easy to File for LLC Dissolution
At FastFilings, we simplify the process of dissolving an LLC. Our team handles the paperwork, so you can focus on your next steps.
Here’s how our process works:
Submit Your Info Online: Provide your LLC name, state, and basic details through our secure platform.
We Prepare and File Your Documents: Our team prepares your official Articles of Dissolution and submits them to the state.
Receive Confirmation of Dissolution: We send you proof once your LLC is legally dissolved and no longer active.
Using our service means you avoid errors and eliminate the confusion of complex legal forms. We file in all 50 states and keep everything compliant with current laws.