Introduction

WooCommerce GST Plugin is the only product capable to print direct invoice runtime. No need to find hooks in different invoice plugins.

Choosing this plugin you can easily process high number of orders, With Growing business it become a difficult to handle various orders with different tax slabs while billing at the payment gateway. GST plugin helps you to assign taxes to different products at the time initial setup at one, which at the end becomes easier for billing & Generates tax slabs with CGST, SGST and IGST automatically, maintaining records & generate PDF invoice with GSTIN and HSN number

GST is applied in all the sectors may it be product or service based. This plugin can be used in FMCG industry like farma, investment, electronics construction etc. Providing that they sell online through WooCommerce platform.

Activation of WooGST plugin

Download the plugin from here

After downloading the WooGST plugin, install it to your store.

Navigate to GST Settings, add the license key in the text field and click on activate.

URL : [your-store-url]/wp-admin/admin.php?page=gst-settings

WooGST Configuring Tax slabs

To add tax slabs you need to enable taxes for your store.

To enable the taxes navigate to WooCommerce > Settings > General then enable the tax.


After successful activation of plugin and enabling the taxes you'll see the GST Tax Slabs settings.

To manage the settings navigate to WooCommerce > Settings > GST Settings


You can add tax slabs single or multiple depending on your choice

In GSTIN Number textfield you can add your stores GSTIN number

In Store location textfield you can add state code where your store is located

From the settings you can add single or multiple tax slabs as per your need

For single tax slab

For multiple tax slab

You can also attach PDF Invoice on customer complete and a Customer invoice email.

Apply tax to the product

To add the tax to the product navigate to product edit page and make the product as taxable. Chose the tax slab. Enter the HSN Code for the product(Mandatory for GST)

PDF Invoice settings

WooGST plugin provides the PDF invoice for orders.

To manage the PDF invoice settings navigate to GST Settings > GST PDF Invoice

From here you can add the Invoice title, Logo, Shop name, Shop address, Signature, Footer note which will appear in the PDF invoice.

And you can give the button label name for download PDF invoice.

Here you can select the PDF invoice template layout, See the samples PDF Invoice

Download PDF invoice

You can download the PDF invoice from the orders page.

Navigate to WooCommerce > Orders, enable the Actions from Screen Options

After enabling the actions you'll see the Actions column in the Orders table. By clicking on the PDF icon you can download the PDF Invoice

Developer Guide Documentation

To Change the Invoice Column and row lable.

// Change the column title of Serial number(#)
add_filter( 'pdf_template_serial_number_text', 'change_pdf_template_serial_number_text' );

Example:
						add_filter( 'pdf_template_serial_number_text', 'change_pdf_template_serial_number_text' );
						function change_pdf_template_serial_number_text() {
						    return '#';
						}
					

// Change the column title of Item
add_filter( 'pdf_template_item_text', 'change_pdf_template_item_text' );

Example:
						add_filter( 'pdf_template_item_text', 'change_pdf_template_item_text' );
						function change_pdf_template_item_text() {
						    return 'Item';
						}
					

// Change the column title of Quantity
add_filter( 'pdf_template_quantity_text', 'change_pdf_template_quantity_text' );

Example:
						add_filter( 'pdf_template_quantity_text', 'change_pdf_template_quantity_text' );
						function change_pdf_template_quantity_text() {
						    return 'QTY';
						}
					

// Change the column title of Rate Per Item
add_filter( 'pdf_template_rate_per_item_text', 'change_pdf_template_rate_per_item_text' );

Example:
						add_filter( 'pdf_template_rate_per_item_text', 'change_pdf_template_rate_per_item_text' );
						function change_pdf_template_rate_per_item_text() {
						    return 'Rate Per Item (Rs.)';
						}
					

// Change the column title of Discount Item
add_filter( 'pdf_template_discount_item_text', 'change_pdf_template_discount_item_text' );

Example:
						add_filter( 'pdf_template_discount_item_text', 'change_pdf_template_discount_item_text' );
						function change_pdf_template_discount_item_text() {
						    return 'Discount Item';
						}
					

// Change the column title of Taxable Item
add_filter( 'pdf_template_taxable_item_text', 'change_pdf_template_taxable_item_text' );

Example:
						add_filter( 'pdf_template_taxable_item_text', 'change_pdf_template_taxable_item_text' );
						function change_pdf_template_taxable_item_text() {
						    return 'Taxable Item (Rs.)';
						}
					

// Change the column title of HSN
add_filter( 'pdf_template_hsn_text', 'change_pdf_template_hsn_text' );

Example:
						add_filter( 'pdf_template_hsn_text', 'change_pdf_template_hsn_text' );
						function change_pdf_template_hsn_text() {
						    return 'HSN';
						}
					

// Change the column title of GST
add_filter( 'pdf_template_gst_text', 'change_pdf_template_gst_text' );

Example:
						add_filter( 'pdf_template_gst_text', 'change_pdf_template_gst_text' );
						function change_pdf_template_gst_text() {
						    return 'GST %';
						}
					

// Change the column title of CGST
add_filter( 'pdf_template_cgst_text', 'change_pdf_template_cgst_text' );

Example:
						add_filter( 'pdf_template_cgst_text', 'change_pdf_template_cgst_text' );
						function change_pdf_template_cgst_text() {
						    return 'CGST Rs.';
						}
					

// Change the column title of SGST
add_filter( 'pdf_template_sgst_text', 'change_pdf_template_sgst_text' );

Example:
						add_filter( 'pdf_template_sgst_text', 'change_pdf_template_sgst_text' );
						function change_pdf_template_sgst_text() {
						    return 'SGST Rs.';
						}
					

// Change the column title of IGST
add_filter( 'pdf_template_igst_text', 'change_pdf_template_igst_text' );

Example:
						add_filter( 'pdf_template_igst_text', 'change_pdf_template_igst_text' );
						function change_pdf_template_igst_text() {
						    return 'IGST Rs.';
						}
					

// Change the column title of column Total
add_filter( 'pdf_template_column_total_text', 'change_pdf_template_column_total_text' );

Example:
						add_filter( 'pdf_template_column_total_text', 'change_pdf_template_column_total_text' );
						function change_pdf_template_column_total_text() {
						    return 'Total Rs.';
						}
					

// Change Terms and Conditions title
add_filter( 'pdf_template_tnc_title', 'change_pdf_template_tnc_title' );

Example:
						add_filter( 'pdf_template_tnc_title', 'change_pdf_template_tnc_title' );
						function change_pdf_template_tnc_title() {
						    return 'Terms and Conditions';
						}
					

// Change Final total title
add_filter( 'pdf_template_final_amt_title', 'change_pdf_template_final_amt_title' );

Example:
						add_filter( 'pdf_template_final_amt_title', 'change_pdf_template_final_amt_title' );
						function change_pdf_template_final_amt_title() {
						    return 'Total';
						}
					



To remove invoice field.

// Remove ORIGINAL text
add_filter( 'pdf_template_remove_original_text', 'change_pdf_template_remove_original_text' );

Example:
						add_filter( 'pdf_template_remove_original_text', 'change_pdf_template_remove_original_text', );
						function change_pdf_template_remove_original_text( $show_original_text ) {
						    return $show_original_text == true;  
						}
					

// Remove admin Email
add_filter( 'pdf_template_remove_admin_email', 'change_pdf_template_remove_admin_email' );

Example:
						add_filter( 'pdf_template_remove_admin_email', 'change_pdf_template_remove_admin_email' );
						function change_pdf_template_remove_admin_email( $display_admin_email ) {
						    return $display_admin_email == true;  
						}
					

// Remove site url
add_filter( 'pdf_template_remove_site_url', 'change_pdf_template_remove_site_url' );

Example:
						add_filter( 'pdf_template_remove_site_url', 'change_pdf_template_remove_site_url' );
						function change_pdf_template_remove_site_url( $display_site_url ) {
						    return $display_site_url == true;  
						}
					

// Remove phone number
add_filter( 'pdf_template_remove_phone_no', 'change_pdf_template_remove_phone_no' );

Example:
						add_filter( 'pdf_template_remove_phone_no', 'change_pdf_template_remove_phone_no' );
						function change_pdf_template_remove_phone_no( $display_phone_no ) {
						    return $display_phone_no == true;  
						}
					



To add a custom field in the invoice.

// Add custom meta field after product title
add_filter( 'woogst_product_metafield', 'change_invoice_metafield', 10, 4 );

Example:
						add_filter( 'woogst_product_metafield', 'change_invoice_metafield', 10, 4 );
						function change_invoice_metafield( $arr_meta_field, $product_id, $order_id, $item ) {
							$hsn = get_post_meta( $product_id, 'hsn_prod_id', true );
							$arr_meta_field['HSN Code'] = $hsn;
							return $arr_meta_field;

						}
					

// Add custom field after product title
add_filter( 'woogst_after_product_title', 'callback_handler', 10, 3 );

Example:
						add_filter( 'woogst_after_product_title', 'pdf_template_after_product_title', 10, 3 );
						function pdf_template_after_product_title( $string, $arg1, $arg2 ) {
							$string = 'Limited Edition';
						    return $string;
						}
					

// Add custom field after amount in word.
add_filter( 'pdf_after_amount_in_word', 'change_pdf_after_amount_in_word', 10, 3 );

Example:
						add_filter( 'pdf_after_amount_in_word', 'change_pdf_after_amount_in_word', 10, 3 );
						function change_pdf_after_amount_in_word( $string, $arg1, $arg2 ) {
							$string = 'Custom note';
						    return $string;
						}
					

// Add custom field in BILL TO PARTY after GSTIN no.
add_filter( 'pdf_bill_to_party_after_gstin_number', 'change_pdf_bill_to_party_after_gstin_number', 10, 3 );

Example:
						add_filter( 'pdf_bill_to_party_after_gstin_number', 'change_pdf_bill_to_party_after_gstin_number', 10, 3 );
						function change_pdf_bill_to_party_after_gstin_number( $string, $arg1, $arg2 ) {
							$string = 'Custom note';
						    return $string;
						}
					

// Add custom field in SHIP TO PARTY after GSTIN no.
add_filter( 'pdf_ship_to_party_after_gstin_number', 'change_pdf_ship_to_party_after_gstin_number', 10, 3 );

Example:
						add_filter( 'pdf_ship_to_party_after_gstin_number', 'change_pdf_ship_to_party_after_gstin_number', 10, 3 );
						function change_pdf_ship_to_party_after_gstin_number( $string, $arg1, $arg2 ) {
							$custom_note = 'Ship Limited Edition';
						    return $custom_note;
						}
					

// Add custom email to Invoice
add_filter( 'pdf_template_admin_email', 'change_pdf_template_admin_email' );

Example:
						add_filter( 'pdf_template_admin_email', 'change_pdf_template_admin_email' );
						function change_pdf_template_admin_email() {
							return 'test@gmail.com';
						}