/**
* 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 );
How to Get a Wholesale License in Georgia | Fast Filings
Skip to content
How To Get AWholesale Licensein georgia.
There are two general ways to obtain a wholesale license in Georgia. You can apply directly with the Georgia tax center government agency in the state of Georgia. The other option is to save yourself time not having to understand how to fill out complicated applications by using the expedited ordering processes available from FastFilings.
What Is a Georgia Wholesale License?
You may have heard a Georgia wholesale license called by other names, including:
Georgia Seller’s Permit
Georgia Reseller License
Georgia Sales and Use Tax Permit
Georgia Resale Certificate
Georgia Sales Permit
Georgia Wholesalers Permit
No matter what you call it, there is only one type of permit in Georgia.
Apply for a Georgia Wholesale License!
Need help filing your wholesale license in Georgia?
Small businesses, sole proprietorships, partnerships, LLCs (limited liability companies), and corporations that want to buy and sell tangible goods or personal property; or businesses which lease or rent goods or personal property or that sell taxable services require a seller’s permit in Georgia.
It does not matter whether the business buys and sells wholesale or retail. When buying wholesale, the business can avoid paying sales taxes on the goods. Businesses selling at wholesale can waive sales taxes when the business provides their seller’s permit ID number.
Businesses buying at retail can deduct the sales tax paid for goods they intend to resell. When businesses sell at retail, their seller’s permit ID is used for collecting and paying sales taxes to the state of Georgia.
Is a Seller’s Permit the Same as a Business Permit?
A seller’s permit is not the same thing as a business permit or business license. Before obtaining a seller’s permit, businesses must register their business with the appropriate state and federal government agencies.
At the federal level, you will need to obtain your EIN (Employer ID Number), which is the equivalent of a social security number but used for business purposes and filing your business income tax return.
At the state level, you must submit a business license application to register the name of your business. The name could be the actual business name or a DBA (Doing Business As).
One of the primary benefits of obtaining a seller’s permit is it allows you to buy goods from Georgia wholesalers without having to pay sales taxes, including city, county, and state sales taxes.
For example, you want to buy 1,000 gadgets from a wholesaler to resell to your customers. The gadgets cost $2 each at wholesale prices. You would pay the wholesaler $2,000 and not have to worry about paying sales tax as long as you had your seller’s permit. When you sell the widgets to your customers, you collect the sales taxes and pay those to the state.
While most wholesalers will verify your resale certificate ID number and waive sales taxes, not all will do so. If you had to pay sales taxes on the 1,000 gadgets you bought at wholesale pricing, you are able to deduct the taxes paid when paying sales taxes to the state.
Georgia does not require businesses to have to renew their seller’s permits. They are valid for the life of your business.
How to Get Your Georgia Wholesale License Easily
The state of Georgia does not charge a fee to get your wholesale license, yet the application process can be confusing and complicated. If you make mistakes, errors, or omissions on the application form, it can lead to delays, refiling forms, and other problems that will prevent you from conducting business in Georgia.
The easiest and fastest way to get your seller’s permit is to use FastFilings and these three simple steps:
You will need to have all relevant business information available, including your EIN, bank account information, personal references, email address, and business permit ID number.
Fill out the secure online application form and provide the required information. We will take care of filling out the official application with the state of Georgia on your behalf. We will contact you if we require additional information to ensure your state application is accurate and correct.
We will send you a notification once your application has been processed. Since we deal directly with the Georgia tax center, we could have your seller’s permit within a few hours and, typically, no longer than a day or two.
Ready to get your wholesale license in Georgia? Fill out our online application at FastFilings today! If you have further questions or require additional assistance, do not hesitate to contact us directly.