=== International Fees and Coupons ===
Requires at least: 5.0
Requires PHP: 7.4
WC requires at least: 3.0
Stable tag: 4.1.0

Country and continent based fees and coupons for WooCommerce. Replaces
Tariff Manager and Regional Coupon Manager, which it imports on activation.

== Why one plugin ==

Fees and coupons were two plugins asking the same question - where is this
order going? - and answering it two different ways. Tariff Manager knew
about countries; Regional Coupon Manager knew about lists of countries.
Neither knew about continents, and neither could say "only with this
shipping method" or "only above this order value".

== Regions ==

A rule belongs to a region, and a region is either a continent or a single
country. A country picks up its continent's rules as well as its own:

  Africa (all countries)
    Fee     Import duty, 5.5%, any shipping method
    Coupon  FREESHIP, $40, only with STD - International Tracked

  Zimbabwe
    Coupon  ZIMBABWE, $100, only on orders over $100

An order to Zimbabwe owes the Africa-wide import duty, and may use either
the Africa-wide FREESHIP code or Zimbabwe's own - whichever suits it.

Continent membership comes from WooCommerce itself, so it stays correct
without a bundled country table going stale.

== How fees combine ==

Two fees on the SAME region always stack. Germany carrying 10% VAT and a
$100 import fee charges both: a $100 order becomes $210. Two fees entered
against one country are two things owed, not a choice.

When a country and its continent BOTH have fees, the store decides, under
WooCommerce -> Fees and Coupons:

  Stack            every matching fee is charged
  Highest only     only the single largest matching fee
  Country first    the country's fees, falling back to the continent's
  Continent first  the continent's fees, falling back to the country's

Each fee appears as its own line in the cart, so a customer can see what
they are being charged for.

== Coupons ==

Codes are created as real WooCommerce coupons, so they are typed into the
usual box, appear in reports and behave normally everywhere else. What
WooCommerce cannot express natively - the region, the shipping method and
the order-value condition - is enforced by this plugin.

"Stackable coupons" decides whether a customer who qualifies for several
of these codes may use more than one. Coupons from other plugins are never
affected.

Codes you remove here are never deleted from WooCommerce, because past
orders reference them.

== Explaining a fee to the customer ==

Each fee can carry a "What is this?" note. When it has one, a "?" appears
beside that fee in the cart and checkout totals, and clicking it opens the
note in a row directly underneath. A fee with no note gets no "?".

The note is plain text written on the settings screen, so it can say what the
charge is for in the store's own words rather than leaving a customer to guess
at a line item they did not expect.

== Shipping costs ==

Three independent switches, because the answer differs per store:

  Include shipping in fee calculations      a 5% fee on goods, or goods + postage
  Include shipping in coupon discounts      a 10% code off goods, or off the lot
  Include shipping in order value conditions  "over $100" before or after postage

== Upgrading ==

On activation the plugin imports from Tariff Manager (bw_tariff_settings)
and Regional Coupon Manager (bw_regional_coupon_settings). Their options
are read, never written, so deactivating and going back is possible. A
coupon that covered five countries becomes that code against five regions.

Tariff Manager's global shipping-method and cart-value settings become
per-rule conditions, which is where they belong now that every rule
carries its own. A store that set both a minimum and a maximum cart value
keeps the minimum.
