{"id":50387869,"url":"https://github.com/etechflow/module-shipping-table-rates","last_synced_at":"2026-05-30T16:01:36.182Z","repository":{"id":359508106,"uuid":"1244604672","full_name":"etechflow/module-shipping-table-rates","owner":"etechflow","description":"Flexible shipping table rates for Magento 2 with a visual rule builder, live cart simulator, versioned rate sets, conflict detection, native MSI, and Hyvä support. Designed to be the merchant-friendly alternative to Amasty / MageWorx Shipping Table Rates.","archived":false,"fork":false,"pushed_at":"2026-05-22T06:42:40.000Z","size":169,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-22T14:58:03.272Z","etag":null,"topics":["carrier","checkout","ecommerce","etechflow","hyva","hyva-compatible","magento-2","magento-module","magento2","magento2-module","php","shipping","table-rates"],"latest_commit_sha":null,"homepage":"https://etechflow.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/etechflow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-20T12:25:20.000Z","updated_at":"2026-05-22T06:42:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/etechflow/module-shipping-table-rates","commit_stats":null,"previous_names":["etechflow/module-shipping-table-rates"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/etechflow/module-shipping-table-rates","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etechflow%2Fmodule-shipping-table-rates","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etechflow%2Fmodule-shipping-table-rates/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etechflow%2Fmodule-shipping-table-rates/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etechflow%2Fmodule-shipping-table-rates/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/etechflow","download_url":"https://codeload.github.com/etechflow/module-shipping-table-rates/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etechflow%2Fmodule-shipping-table-rates/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33698654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["carrier","checkout","ecommerce","etechflow","hyva","hyva-compatible","magento-2","magento-module","magento2","magento2-module","php","shipping","table-rates"],"created_at":"2026-05-30T16:01:35.091Z","updated_at":"2026-05-30T16:01:36.170Z","avatar_url":"https://github.com/etechflow.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Shipping Table Rates for Magento 2\n\n**Flexible shipping table rates without the spreadsheet horror.**\n\nVisual rate management. Live cart simulator. One-click rollback. Conflict detection. Native MSI + Hyvä. Designed as the merchant-friendly alternative to Amasty / MageWorx — matching their feature surface, beating them on day-to-day admin UX.\n\n| | Amasty | MageWorx | **eTechFlow** |\n|---|---|---|---|\n| Community / Open Source | $229/yr | $149/yr | **$129/yr** |\n| Adobe Commerce | $529/yr | +$149/yr | **$299/yr** |\n| Magento Cloud | $829/yr | n/a | **$399/yr** |\n| Live cart simulator in admin | ❌ | ❌ | ✅ |\n| Versioning + one-click rollback | ❌ | ❌ | ✅ |\n| Conflict detection on save | ❌ | ❌ | ✅ |\n| Human-readable CSV columns | ❌ (PPP/FRPP/FRPUW) | partial | ✅ |\n| Native MSI | bolt-on package | partial | ✅ |\n| Hyvä Checkout | ✅ | partial | ✅ |\n| CLI smoke-test command | ❌ | ❌ | ✅ |\n\n---\n\n## What it does\n\nAdds an unlimited number of shipping methods to your Magento 2 / Adobe Commerce checkout, each driven by table rates with rich conditions:\n\n- **Destination**: country, region, city, postcode range (alphanumeric — UK / Canada / Netherlands work)\n- **Cart**: weight range, qty range, subtotal range\n- **Customer**: customer group(s)\n- **Product**: a `shipping_type` attribute (seeded with Standard / Fragile / Oversized / Hazmat / Cold Chain — extensible)\n- **Rate formula**: base + per-product + per-kg + percent of subtotal, combined freely, with method-level min/max clamps and per-multi-type-cart aggregation (sum / min / max)\n\n## Requirements\n\n| | |\n|---|---|\n| **Magento** | Open Source 2.4.4+ OR Adobe Commerce 2.4.4+ |\n| **PHP** | 8.1, 8.2, 8.3, or 8.4 |\n| **Compatible themes** | Luma + Hyvä + Hyvä Checkout |\n| **MSI** | Supported transparently via standard carrier contract |\n\n## Installation\n\n### Option A — Composer (recommended)\n\n```bash\ncomposer require etechflow/module-shipping-table-rates:^1.0\nbin/magento module:enable ETechFlow_ShippingTableRates\nbin/magento setup:upgrade\nbin/magento setup:di:compile\nbin/magento cache:flush\n```\n\n### Option B — Manual (from zip)\n\n1. Unzip `etechflow-module-shipping-table-rates-1.0.0.zip` into:\n   ```\n   \u003cmagento-root\u003e/app/code/ETechFlow/ShippingTableRates/\n   ```\n   **The directory MUST be named `ETechFlow` (capital E, capital T, capital F) — case-sensitive on Linux servers.**\n\n2. Enable and set up:\n   ```bash\n   bin/magento module:enable ETechFlow_ShippingTableRates\n   bin/magento setup:upgrade\n   bin/magento setup:di:compile\n   bin/magento cache:flush\n   ```\n\n3. Verify:\n   ```bash\n   bin/magento module:status | grep ShippingTableRates\n   ```\n\n## After install — 4-step setup\n\n### Step 1 — Enter your licence key\n\nAdmin → **Stores → Configuration → eTechFlow → Shipping Table Rates → License**\n\nPaste the key from your purchase email.\n\n\u003e **Don't have a key yet?** Free on dev/staging environments — any host matching `localhost`, `*.test`, `*.local`, `staging.*`, `*.magento.cloud`, ngrok, or RFC 1918 IPs runs at full features without a licence. For non-standard dev domains, set **Production Environment = No** instead.\n\n### Step 2 — Verify the module is active\n\nThe \"Module Status\" banner at the top of the config section will show ✅ **Module is active** (or one of 5 other diagnostic states with what-to-do guidance).\n\n### Step 3 — Create your first method\n\nAdmin → **Sales → Operations → Shipping Table Rates → Add New Method**\n\nFill in:\n- **Code**: stable machine identifier (`uk_standard`, `eu_express`)\n- **Name**: customer-facing label at checkout\n- **Active**: Yes\n- **Sort Order**: 10 (lower = higher up in checkout list)\n- **Min / Max Rate**: optional clamps\n- **Multi-Type Handling**: `sum` (default) / `min` / `max` — only matters when rates target specific `shipping_type` values\n\nSave. The Rate Rules + Versions + Simulator + CSV panels appear below.\n\n### Step 4 — Add rate rules\n\n**Option A — Inline editor** (best for a few rules):\nClick **Add Rate Rule** on the method edit page. Fill in the conditions you want (leave blank for \"any\"), the rate components, and Save.\n\n**Option B — CSV import** (best for bulk):\nClick **Download CSV** to get the column template, edit in your spreadsheet editor, upload via **Upload + Import**. Choose **Replace** or **Append**.\n\n## Key admin features (all on the method edit page)\n\n| Panel | What it does |\n|---|---|\n| **Rate Rules** | List + add + edit + delete individual rules. Each row shows conditions in a compact view + the formula + per-row Edit / Delete. |\n| **CSV Import / Export** | Bulk-edit via spreadsheet. Round-trips cleanly — export, edit, re-import. Per-row validation with all errors collected before any rows are written. |\n| **Live Cart Simulator** | Type a hypothetical cart (country / weight / qty / subtotal / shipping types), click Simulate. See exactly which methods match, the total cost, which rate row contributed, and the formula breakdown. Replaces the \"drive a real checkout to debug\" workflow. |\n| **Version History** | Lists the 25 most recent snapshots with one-click Restore. Every save / import / delete creates a snapshot. Rollback itself snapshots first — undo-the-undo works. |\n\n## CLI verification\n\n```bash\nbin/magento etechflow:str:simulate \\\n    --country=GB \\\n    --postcode=\"SW1A 1AA\" \\\n    --weight=5 --qty=3 --subtotal=100 \\\n    --customer-group=1 \\\n    --shipping-types=fragile,standard\n```\n\nPrints structured output showing which methods matched, total cost, winning rate IDs, formula breakdown. Exit code 0 on match, 1 on no match — drop into CI / monitoring.\n\n## Documentation\n\n| File | Read when |\n|---|---|\n| `README.md` (this file) | First — overview + install + 4-step setup |\n| `docs/USER_GUIDE.md` | Full reference: every field, every condition, every CSV column, troubleshooting |\n| `CHANGELOG.md` | What changed in each version |\n| `LICENSE.txt` | Licence terms |\n\n## Bundle pricing\n\nPaired with **Next Day Eligibility** + **Backorder ETA Display** in the **eTechFlow 3-Module Bundle** — one licence key activates all three.\n\n## Support\n\n- **Email**: support@etechflow.com — typically responds within one business day\n- **Website**: https://etechflow.com\n\n## License\n\nProprietary — see `LICENSE.txt`. Licensed per Magento installation, with unlimited dev/staging environments under the same business entity.\n\nTo change your production domain (e.g. site migration), email `support@etechflow.com` with your old + new domain and order number. New key issued same business day.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetechflow%2Fmodule-shipping-table-rates","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fetechflow%2Fmodule-shipping-table-rates","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetechflow%2Fmodule-shipping-table-rates/lists"}