Trang chủ WordpressWordpress Plugin [Woocommerce] Tính phí giao hàng toàn tập

[Woocommerce] Tính phí giao hàng toàn tập

bởi Thạch Phạm

Như các bạn đều thấy là ở mỗi website bán hàng trực tuyến hiện nay, khi đặt hàng chúng ta đều thấy có tính năng tự động thêm phí giao hàng theo từng loại để khách hàng lựa chọn và tự động tính nó vào hóa đơn. Dĩ nhiên với WooCommerce được thiết kế cho những nhu cầu sử dụng tại nước ngoài sẽ không thể thiếu tính năng này, nên trong bài này vào một số bài sau mình sẽ nói chi tiết về chức năng tự tính phí giao hàng của WooCommerce.

Bật chế độ sửa lỗi (Debug Shipping Mode)

Trong lúc cài đặt và thiết lập, bạn nên bật chế độ sửa lỗi để nó bỏ qua các bộ nhớ dệm và hiển thị khu vực (Shipping Zone) tương ứng với khách khi thanh toán để chúng ta tiện theo dõi.

Để bật bạn truy cập vào WooCommerce -> Tình trạng hệ thống -> Công cụ và đánh dấu vào Chế độ sửa lỗi phương thức giao hàng.

wc26-thiet-lap-shipping-24

Thiết lập Shipping Zone (Khu vực vận chuyển)

Ỏ WooCommerce 2.6 trở đi, nó đã hỗ trợ tính năng thiết lập phương thức giao hàng dựa theo khu vực vận chuyển (Shipping Zone). Ví dụ bạn có thể thiết lập khách ở TP HCM là miễn phí vận chuyển, các tỉnh thành khác thì tính phí. Và muốn thiết lập phí vận chuyển thì bạn phải thiết lập Shipping Zone trước.

Để thiết lập shipping zone bạn vào WooCommerce -> Giao nhận và chọn Shipping Zones, sau đó ấn nút Add shipping zone.

wc26-thiet-lap-shipping-01

Sau đó chúng ta nhập tên khu vực cần thêm, ví dụ mình tạo một khu vực gọi là “Nội thành” và trong khu vực này mình sẽ cho TP Hồ Chí Minh và Hà Nội  vào.

wc26-thiet-lap-shipping-02

Thêm tỉnh thành vào WooCommerce

Để có thể chọn tỉnh thành trong WooCommerce, mời bạn xem lại bài trước hoặc cài plugin WooCommerce Vietnam Currency.

Phí ship dựa theo tỉnh thành

Với tính năng shipping zone này bạn có thể dễ dàng làm tính năng tính phí ship dựa trên tỉnh/thành bằng cách tạo ra các khu vực tương ứng.

Nếu bạn muốn tạo ra khu vực nào nữa thì tạo thêm nhưng không nhất thiết phải tạo hết 54 tỉnh thành ở Việt Nam. Nếu khu vực nào chưa tạo thì nó sẽ cho vào khu vực “Rest of the World” để sử dụng các thiết lập giao hàng chung.

Thêm phương thức giao hàng cho từng khu vực

Ở trên chúng ta đã tạo các khu vực vận chuyển rồi và bây giờ việc còn lại là thiết lập phương thức giao hàng cho từng khu vực đó. Ví dụ với tất cả tỉnh thành khác chúng ta lấy phí ship hàng là 50.000 đồng, còn khu vực nội thành (Hồ Chí Minh, Hà Nội) thì miễn phí.

Để thêm phương thức giao hàng cho các khu vực, bạn click vào nút dấu cộng bên cạnh phương thức vận chuyển cần thêm.

wc26-thiet-lap-shipping-03

Trong phần này chúng ta có 3 phương thức giao hàng mặc định là:

wc26-thiet-lap-shipping-04

  • Tỉ lệ sàn (Flat Rate): Thiết lập phí giao hàng thông thường.
  • Miễn phí giao hàng (Free Shipping): Cho phép miễn phí giao hàng.
  • Mua hàng tận nơi (Local Pickup): Khách hàng tới tận cửa hàng để lấy hàng. Cái này đơn giản là cho một dòng thông báo thôi chứ không có chức năng gì đâu nhé.

 

Bạn có thể thêm nhiều phương thức giao hàng vào một shipping zone nhé, chỉ cần nhấp thêm vào nút dấu cộng thôi. Sau khi thêm xong các phương giao hàng cho shipping zone bạn sẽ thấy nó hiển thị như bên dưới.

wc26-thiet-lap-shipping-05

Và khi một khu vực bạn thiết lập nhiều phương thức giao hàng thì trang thanh toán sẽ hiển thị ra tùy chọn để khách hàng chọn.

wc26-thiet-lap-shipping-08

Xóa phương thức giao hàng trong shipping zone

Để xóa hoặc tắt phương thức giao hàng trong một shipping zone thì bạn nhấp shipping zone cần xóa. Nó sẽ hiển thị ra danh sách phương thức giao hàng của shipping zone đó và bạn có thể xóa hoặc tạm tắt nó.

wc26-thiet-lap-shipping-06

Cấu hình phương thức giao hàng

Dĩ nhiên để các phương thức giao hàng hoạt động như ý mình thì bạn phải cấu hình lại nó. Để cấu hình bạn có thể click trực tiếp vào tên phương thức giao hàng trong danh sách shipping zone.

Thiết lập Tỉ lệ sàn (Flat Rate)

wc26-thiet-lap-shipping-07

Tỷ lệ tính thuế này bạn có thể:

  • Thiết lập phí giao hàng cố định.
  • Thiết lập phí giao hàng dựa theo số lượng sản phẩm.
  • Thiết lập phí giao hàng dựa theo phần trăm của tổng giá trị đơn hàng.

Phần tên phương thức và tình trạng thuế là quá dễ hiểu rồi nhé nên mình không nói qua nữa. Riêng phần chi phí, mình có vài ví dụ điền các giá trị như sau:

  • 25000: Tính phí giao hàng cố dịnh là 25.000 đồng.
  • 5000 * [qty]: Tính phí giao hàng cố định là 5.000 đồng cho mỗi sản phẩm trong đơn hàng. Ví dụ đơn hàng đó bạn có 4 sản phẩm thì phí giao nhận là 15.000 đồng.
  • [fee percent="10" min_fee="10000"]: Phí giao hàng là 10% cho tổng giá trị đơn hàng, nhưng 10% này phải lớn hơn 10.000 đồng, nếu nhỏ hơn thì sẽ sử dụng phí là 10.000 đồng.
  • 5000 + ( 2000 * [qty] ): Phí giao hàng cho đơn hàng là 5.000 đồng, cộng thêm mỗi sản phẩm là 2.000 đồng. Ví dụ bạn có 3 sản phẩm trong đơn hàng thì sẽ là 5000 + (2000 * 3) = 11.000 đồng.

Và dĩ nhiên, bạn chỉ có thể thiết lập một kiểu tính phí duy nhất mà thôi. Nếu bạn thêm nhiều kiểu tính thì xem thêm ở dưới.

Thiết lập miễn phí giao hàng

Tính năng thiết lập miễn phí giao hàng trong WooCommerce có sẵn bạn có thể thiết lập miễn phí giao hàng khi:

  • Khách hàng sử dụng mã giảm giá/coupon.
  • Tổng tiền đơn hàng tối thiểu với một định mức cố định. Ví dụ sẽ free ship khi đơn hàng trên 500.000 đồng.
  • Tổng tiền đơn hàng tối thiểu và sử dụng kèm một coupon.
  • Tổng tiền đơn hàng tối thiểu HOẶC sử dụng kèm một coupon.

wc26-thiet-lap-shipping-09

Nếu bạn muốn thiết lập miễn phí giao hàng nâng cao hơn như thêm nhiều điều kiện khác nhau để áp dụng miễn phí giao hàng thì hãy cài plugin WooCommerce Advanced Free Shipping.

Cài xong bạn vào WooCommerce -> Cài đặt -> Giao hàng -> Advanced Free Shipping và ấn nút Add Free Shipping Method rồi thêm. Bạn có thể đánh dấu vào Hide other shipping methods when free shipping is available để ẩn các phương thức giao hàng khác nếu đơn hàng đủ điều kiện miễn phí giao hàng mà không cần làm bằng code bên dưới.

Tắt miễn phí giao hàng mặc định

Bạn nên tắt chức năng miễn phí giao hàng có sẵn trong WooCommerce khi dùng plugin này.

Tại trang thêm phương thức giao miễn phí, bạn có hai phần chính là phần thiết lập điều kiện và phần thiết lập tên phương thức sẽ hiển thị ra ngoài.

wc26-thiet-lap-shipping-21

Phần điều kiện nó có 4 kiểu tham chiếu là:

  • Equal to: Bằng
  • Not equal to: Không bằng
  • Greater or equal to: Lớn hơn hoặc bằng
  • Less or equal to: Nhỏ hơn hoặc bằng

Nếu bạn muốn thêm nhiều điều kiện thì nhấp vào dấu cộng kế bên.

wc26-thiet-lap-shipping-22

Nếu bạn muốn rẽ nhánh HOẶC thì ấn nút Add ‘Or’ group ngay bên dưới nó.

Ví dụ mình muốn miễn phí giao hàng khi thỏa mãn đủ 3 điều kiện sau:

  • Khách mua số lượng 5 sản phẩm trở lên trong đơn hàng.
  • Tổng giá trị đơn hàng phải từ 500.000 đồng trở lên.
  • Chỉ áp dụng cho TP Hồ Chí Minh và Hà Nội.

Chiếu theo các điều kiện đó, chúng ta sẽ phải sử dụng rẽ nhánh HOẶC, và khi rẽ nhánh chúng ta phải thiết lập lại luôn các điều kiện đi kèm khác. Đây là ví dụ thiết lập của mình:

wc26-thiet-lap-shipping-23

Rất linh hoạt mà lại miễn phí phải không nào?

Tự ẩn các phương thức giao hàng khác khi dùng miễn phí giao hàng

Không cần thêm nếu đã cài plugin WooCommerce Advanced Free Shipping có đánh dấu vào mục “Hide other shipping methods when free shipping is available”

Nếu một khu vực nào đó vừa có miễn phí giao hàng, vừa có tỉ lệ sàng thì mặc định đơn hàng vẫn hiển thị phương thức giao hàng tỷ lệ sàn, điều này là không cần thiết.

Để hệ thống tự ẩn các phương thức giao hàng khác khi đơn hàng của khách đủ điều kiện sử dụng miễn phí giao hàng thì bạn chèn đoạn code sau vào functions.php của theme đang dùng (Giao diện -> Sửa -> functions.php):

function my_hide_shipping_when_free_is_available( $rates ) {
	$free = array();

	foreach ( $rates as $rate_id => $rate ) {
		if ( 'free_shipping' === $rate->method_id ) {
			$free[ $rate_id ] = $rate;
			break;
		}
	}

	return ! empty( $free ) ? $free : $rates;
}

add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );

Nếu bạn dùng code trên không được thì vào đây để dùng các code phù hợp với phiên bản WooCommerce bạn đang sử dụng.

Đây là một ví dụ ẩn các phương thức giao hàng khác khi miễn phí giao hàng có hiệu lực.

wc26-thiet-lap-shipping-10

Thêm nhiều tỉ lệ sàn

Một trường hợp điển hình để sử dụng nhiều tỉ lệ sàn trên WooCommerce đó là chúng ta muốn thêm chuyển phát nhanh và chuyển phát thường. Rất may mắn là từ bản 2.6 trở đi, việc thêm tỷ lệ sàn rất đơn giản đó là vẫn click vào nút dấu cộng để thêm phương thức giao hàng và chọn tiếp là tỉ lệ sàn.

wc26-thiet-lap-shipping-11

Sau đó sửa lại hai tỉ lệ đó để đổi tên lại tên phương thức vận chuyển là được. Quá đơn giản và hoan hô sự cải thiện của WooCommerce sau bao nhiêu lần cập nhật củ chuối.

Sử dụng loại hình giao hàng (Shipping Class)

Tính năng này của WooCommerce giúp chúng ta tạo một nhóm loại hình giao hàng và sử dụng riêng nó cho một số sản phẩm đặc biệt. Ví dụ bạn có một vài sản phẩm mà chi phí vận chuyển sẽ đắt (máy bay chẳng hạn) và sẽ sử dụng cách tính khác, là chúng ta sẽ sử dụng tính năng này.

Trước tiên bạn truy cập vào mục WooCommerce -> Cài đặt -> Giao nhận -> Các loại hình giao nhận hàng để tạo shipping class.

Bạn ấn nút Add Shipping Class để bắt đầu tạo và đặt tên class rồi lưu lại.

wc26-thiet-lap-shipping-18

Sau đó sửa sản phẩm cần áp dụng class này bằng cách thiết lập trong phần giao hàng của sản phẩm.

wc26-thiet-lap-shipping-19

Cuối cùng là bạn vào lại phần shipping zones (khu vực giao hàng) và sửa các tỉ lệ sàn để thiết lập chi phí cho class.

wc26-thiet-lap-shipping-20

Các bạn thiết lập y hệt như cách thiết lập tỉ lệ sàn thôi nhé. Phần Không có chi phí vận chuyển (No shipping class cost) bạn để trống vì nó sẽ sử dụng phần chi phí ở trên nếu sản phẩm không có class tương ứng.

Phần loại bảng tính này sẽ có 2 tùy chọn (do bản dịch bị sai chỗ này nên mình tạm dùng tiếng Anh):

  • Per Order: Nếu giỏ hàng của bạn có nhiều sản phẩm, và các sản phẩm có class khác nhau và cách tính khác nhau. Nếu bạn chọn cái này nó sẽ lấy chi phí cao nhất để áp dụng vào đơn hàng. Ví dụ sản phẩm đặc biệt có shipping class nhưng chi phí cho class này thấp hơn chi phí thông thường thì nó sẽ tính phí thông thường.
  • Per Class: Tính phí vận chuyển riêng cho từng class.

Và chức năng loại hình giao hàng này sẽ làm việc với tỉ lệ sàn và các phương thức giao nhận khác khi cài plugin vào nếu nó có hỗ trợ.

Tính phí giao hàng dựa theo khối lượng

Mặc định WooCommerce có hỗ trợ chúng ta thiết lập khối lượng của sản phẩm trong phần Giao nhận khi thêm sản phẩm.

wc26-thiet-lap-shipping-12Nhưng cái này WooCommerce không có hỗ trợ thiết lập tính giá vận chuyển dựa trên các thông số đó mà chúng ta phải sử dụng plugin hỗ trợ để có thể tính phí giao hàng dựa trên khối lượng sản phẩm.

Nếu bạn muốn miễn phí thì có thể sử dụng plugin WooCommerce Weight Shipping Based nhưng chỉ hỗ trợ tính phí giao hàng dựa trên khối lượng, không hỗ trợ kích thước.

Sau khi cài plugin, bạn vào WooCommerce -> Cài đặt -> Giao nhận -> Weight Based để bắt đầu thiết lập.

Rules

wc26-thiet-lap-shipping-13

Phần này nghĩa là bạn sẽ thêm các quy tắt tính phí giao nhận tùy vào hoàn cảnh. Ví đụ nếu ship hàng trong nước thì tính giá khối lượng khác, nước ngoài sẽ tính khác. Hoặc nếu tổng khối lượng của dơn hàng thấp hơn hoặc nhiều hơn một số nhất định sẽ tính phí khác.

Bạn có thể thêm nhiều rules khác nhau nếu cần thiết lập phức tạp, còn bình thường thì dùng cái rules mặc định là được.

Rules Settings

wc26-thiet-lap-shipping-14

Phần này là để sửa tên cái rule hiện tại đang chọn và tùy chọn áp đụng thuế hoặc không.

Conditions

wc26-thiet-lap-shipping-15

Điều kiện áp dụng của rule hiện tại. Bạn có thể thiết lập quốc gia sử dụng rule này hoặc chỉ áp dụng rules theo tổng khối lượng của đơn hàng hoặc tổng giá trị của dơn hàng. Ví dụ nếu khách hàng mua nhiều thì tính phí rẻ hơn chẳng hạn.

Cost

wc26-thiet-lap-shipping-16

Đây là phần quan trọng, là nơi bạn thiết lập phí giao hàng dựa theo khối lượng của sản phẩm. Trong này có các tùy chọn sau:

  • Base Cost: Phí cố định khi gửi hàng dựa theo cân nặng. Ví dụ bạn điền base cost là 5000 thì phí gửi hàng là 5000 cộng cho cái tỷ lệ dựa theo cân nặng của đơn hàng. Nếu bạn không muốn thêm giá cố định thì bỏ trống phần này.
  • Weight Rate: Tỷ lệ phí giao hàng theo cân nặng. Phần này có 3 ô, ví dụ mình điền charge 2000 per each 1kg thì nghĩa là 2000 đồng cho mỗi 1kg.

Modfificators

wc26-thiet-lap-shipping-17

Thiết lập phí tối thiểu  và tối đa cho phần tính phí giao hàng theo khối lượng.

Lời kết

Trong bài này bạn đã biết hầu hết về các cách thiết lập phí giao hàng trong WooCommerce rồi và bên cạnh đó mình cũng đã hướng dẫn cách thiết lập phí vận chuyển dựa theo cân nặng hay kích thước của sản phẩm, cũng như là tính phí ship dựa trên mỗi khu vực tỉnh thành với tính năng shipping zone mạnh mẽ.

Có thể bạn quan tâm

Hiện tại blog tạm đóng bình luận vì mình cần tập trung thời gian vào cập nhật bài viết. Bình luận sẽ mở ra cho đến khi mình sẵn sàng.