Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect tax rates return from TaxJar for Colorado #2833

Open
samnajian opened this issue Dec 16, 2024 · 17 comments · May be fixed by #2835
Open

Incorrect tax rates return from TaxJar for Colorado #2833

samnajian opened this issue Dec 16, 2024 · 17 comments · May be fixed by #2835
Assignees

Comments

@samnajian
Copy link
Contributor

samnajian commented Dec 16, 2024

WCS&T seems to be returning incorrect tax rates for Colorado. I'm able to get the correct rate (3.3%) using the TaxJar calculator but only when I either use the zip + 4 or include the street address. It seems the rates on the site only take the city and zip into account. Confirmed the issue in a test environment changing the shop address to the merchant's address.

Merchant's config:

I have not entered any tax rates manually. The Automated taxes have been enabled this whole time and the standard tax rate table populates with a new tax rate anytime someone makes an order. Several more orders were placed yesterday and you can see that there are new rates in the tax table that I did not put there. I've included screenshots of the tax settings, general settings, new table table and checkout page below. The tax is still being figured at the 7.3% rate. Please let me know if you need anything else.

What's been done and confirmed the issue:

  • Confirmed issue in test environment.
  • Entered address into TaxJar calculation tool and it's correctly showing a 3.3% rate for the address: xHmKaB.png
  • TaxJar calculator will provide correct rate ONLY when full zip or address is provided. Just city and zip will return incorrect rate.

WordPress Environment

System Status Report
### WordPress Environment ###

WordPress address (URL): https://swcocanyons.org
Site address (URL): https://swcocanyons.org
WC Version: 9.4.2
Legacy REST API Package Version: The Legacy REST API plugin is not installed on this site.
Action Scheduler Version: ✔ 3.8.2
Log Directory Writable: ✔
WP Version: 6.7.1
WP Multisite: –
WP Memory Limit: 500 MB
WP Debug Mode: –
WP Cron: ✔
Language: en_US
External object cache: –

### Server Environment ###

Server Info: Apache
PHP Version: 8.1.31
PHP Post Max Size: 512 MB
PHP Time Limit: 500
PHP Max Input Vars: 3000
cURL Version: 7.81.0
OpenSSL/3.0.2

SUHOSIN Installed: –
MySQL Version: 8.0.28-0ubuntu0.20.04.3
Max Upload Size: 250 MB
Default Timezone is UTC: ✔
fsockopen/cURL: ✔
SoapClient: ✔
DOMDocument: ✔
GZip: ✔
Multibyte String: ✔
Remote Post: ✔
Remote Get: ✔

### Database ###

WC Database Version: 9.3.3
WC Database Prefix: wp_dnk7wc_
Total Database Size: 98.64MB
Database Data Size: 85.06MB
Database Index Size: 13.58MB
wp_dnk7wc_woocommerce_sessions: Data: 0.11MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_woocommerce_downloadable_product_permissions: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_dnk7wc_woocommerce_order_items: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_woocommerce_order_itemmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_woocommerce_tax_rates: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_dnk7wc_woocommerce_tax_rate_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_woocommerce_shipping_zone_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_woocommerce_payment_tokens: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_woocommerce_payment_tokenmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_woocommerce_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_actionscheduler_actions: Data: 3.41MB + Index: 1.78MB + Engine InnoDB
wp_dnk7wc_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_actionscheduler_logs: Data: 1.50MB + Index: 1.86MB + Engine InnoDB
wp_dnk7wc_booking: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_bookingdates: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_cff_facebook_feed_locator: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_cff_feed_caches: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_cff_feeds: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_cff_sources: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_commentmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_comments: Data: 0.02MB + Index: 0.09MB + Engine InnoDB
wp_dnk7wc_ctf_feed_caches: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_ctf_feed_locator: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_ctf_feeds: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_ctf_feeds_posts: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_ctf_posts: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_duplicator: Data: 0.00MB + Index: 0.00MB + Engine MyISAM
wp_dnk7wc_duplicator_packages: Data: 0.14MB + Index: 0.00MB + Engine MyISAM
wp_dnk7wc_duplicator_pro_entities: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_duplicator_pro_packages: Data: 0.11MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_e_events: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_e_notes: Data: 0.02MB + Index: 0.17MB + Engine InnoDB
wp_dnk7wc_e_notes_users_relations: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_e_submissions: Data: 0.08MB + Index: 0.27MB + Engine InnoDB
wp_dnk7wc_e_submissions_actions_log: Data: 0.02MB + Index: 0.11MB + Engine InnoDB
wp_dnk7wc_e_submissions_values: Data: 0.13MB + Index: 0.09MB + Engine InnoDB
wp_dnk7wc_fbv: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_fbv_attachment_folder: Data: 0.05MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_jet_post_types: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_jet_taxonomies: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_jetpack_sync_queue: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_dnk7wc_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_automation_run_logs: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_dnk7wc_mailpoet_automation_run_subjects: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_mailpoet_automation_runs: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_automation_triggers: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_mailpoet_automation_versions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_automations: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_mailpoet_custom_fields: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_dynamic_segment_filters: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_feature_flags: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_forms: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_mailpoet_log: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_mailpoet_migrations: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_newsletter_links: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_dnk7wc_mailpoet_newsletter_option: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_newsletter_option_fields: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_newsletter_posts: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_newsletter_segment: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_newsletter_templates: Data: 2.52MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_mailpoet_newsletters: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_mailpoet_scheduled_task_subscribers: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_scheduled_tasks: Data: 0.09MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_mailpoet_segments: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_mailpoet_sending_queues: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_mailpoet_settings: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_statistics_bounces: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_mailpoet_statistics_clicks: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_dnk7wc_mailpoet_statistics_forms: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_statistics_newsletters: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_mailpoet_statistics_opens: Data: 0.02MB + Index: 0.08MB + Engine InnoDB
wp_dnk7wc_mailpoet_statistics_unsubscribes: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_dnk7wc_mailpoet_statistics_woocommerce_purchases: Data: 0.02MB + Index: 0.08MB + Engine InnoDB
wp_dnk7wc_mailpoet_stats_notifications: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_mailpoet_subscriber_custom_field: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_subscriber_ips: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_subscriber_segment: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_mailpoet_subscriber_tag: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_mailpoet_subscribers: Data: 0.02MB + Index: 0.23MB + Engine InnoDB
wp_dnk7wc_mailpoet_tags: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_user_agents: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_mailpoet_user_flags: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_nextend2_image_storage: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_nextend2_section_storage: Data: 0.17MB + Index: 0.06MB + Engine InnoDB
wp_dnk7wc_nextend2_smartslider3_generators: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_nextend2_smartslider3_sliders: Data: 0.13MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_nextend2_smartslider3_sliders_xref: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_nextend2_smartslider3_slides: Data: 0.13MB + Index: 0.11MB + Engine InnoDB
wp_dnk7wc_options: Data: 11.02MB + Index: 0.17MB + Engine InnoDB
wp_dnk7wc_pdfposter_presets: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_postmeta: Data: 20.14MB + Index: 3.63MB + Engine InnoDB
wp_dnk7wc_posts: Data: 10.13MB + Index: 0.75MB + Engine InnoDB
wp_dnk7wc_pta_sus_sheets: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_pta_sus_signups: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_pta_sus_tasks: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_sbi_feed_caches: Data: 0.17MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_sbi_feeds: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_sbi_instagram_feed_locator: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_sbi_instagram_feeds_posts: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_sbi_instagram_posts: Data: 1.52MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_sbi_sources: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_sbr_feed_caches: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_sbr_feed_locator: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_sbr_feeds: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_sbr_reviews_posts: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_dnk7wc_sbr_sources: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_sby_feed_caches: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_sby_feed_locator: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_sby_feeds: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_term_relationships: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_term_taxonomy: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_termmeta: Data: 0.06MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_terms: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_usermeta: Data: 0.05MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_users: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_dnk7wc_wc_admin_note_actions: Data: 0.05MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_wc_admin_notes: Data: 0.06MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wc_customer_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_wc_download_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_wc_order_addresses: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_dnk7wc_wc_order_coupon_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_wc_order_operational_data: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_wc_order_product_lookup: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_dnk7wc_wc_order_stats: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_dnk7wc_wc_order_tax_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_wc_orders: Data: 0.02MB + Index: 0.11MB + Engine InnoDB
wp_dnk7wc_wc_orders_meta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_wc_product_attributes_lookup: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_wc_product_download_directories: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_wc_product_meta_lookup: Data: 0.08MB + Index: 0.14MB + Engine InnoDB
wp_dnk7wc_wc_rate_limits: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_wc_webhooks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_wd_fb_data: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wd_fb_info: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wd_fb_option: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wd_fb_shortcode: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wd_fb_theme: Data: 0.08MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wfauditevents: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wfblockediplog: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wfblocks7: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_dnk7wc_wfconfig: Data: 2.28MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wfcrawlers: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wffilechanges: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wffilemods: Data: 16.55MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wfhits: Data: 1.02MB + Index: 0.08MB + Engine InnoDB
wp_dnk7wc_wfhoover: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_wfissues: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_dnk7wc_wfknownfilelist: Data: 7.52MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wflivetraffichuman: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_wflocs: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wflogins: Data: 0.41MB + Index: 0.14MB + Engine InnoDB
wp_dnk7wc_wfls_2fa_secrets: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_wfls_role_counts: Data: 0.00MB + Index: 0.00MB + Engine MEMORY
wp_dnk7wc_wfls_settings: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wfnotifications: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wfpendingissues: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_dnk7wc_wfreversecache: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wfsecurityevents: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wfsnipcache: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_dnk7wc_wfstatus: Data: 0.13MB + Index: 0.11MB + Engine InnoDB
wp_dnk7wc_wftrafficrates: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wfwaffailures: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wpforms_entries: Data: 1.52MB + Index: 0.09MB + Engine InnoDB
wp_dnk7wc_wpforms_entry_fields: Data: 0.13MB + Index: 0.05MB + Engine InnoDB
wp_dnk7wc_wpforms_entry_meta: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_dnk7wc_wpforms_logs: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wpforms_payment_meta: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_dnk7wc_wpforms_payments: Data: 0.02MB + Index: 0.14MB + Engine InnoDB
wp_dnk7wc_wpforms_tasks_meta: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wpmailsmtp_debug_events: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_wpmailsmtp_tasks_meta: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_dnk7wc_yoast_indexable: Data: 0.20MB + Index: 0.09MB + Engine InnoDB
wp_dnk7wc_yoast_indexable_hierarchy: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_dnk7wc_yoast_migrations: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_dnk7wc_yoast_primary_term: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_dnk7wc_yoast_seo_links: Data: 0.05MB + Index: 0.03MB + Engine InnoDB
wp_rf7dy8_commentmeta: Data: 0.00MB + Index: 0.00MB + Engine MyISAM
wp_rf7dy8_comments: Data: 0.00MB + Index: 0.01MB + Engine MyISAM
wp_rf7dy8_links: Data: 0.00MB + Index: 0.00MB + Engine MyISAM
wp_rf7dy8_options: Data: 0.36MB + Index: 0.01MB + Engine MyISAM
wp_rf7dy8_postmeta: Data: 0.00MB + Index: 0.01MB + Engine MyISAM
wp_rf7dy8_posts: Data: 0.00MB + Index: 0.01MB + Engine MyISAM
wp_rf7dy8_term_relationships: Data: 0.00MB + Index: 0.00MB + Engine MyISAM
wp_rf7dy8_term_taxonomy: Data: 0.00MB + Index: 0.00MB + Engine MyISAM
wp_rf7dy8_terms: Data: 0.00MB + Index: 0.01MB + Engine MyISAM
wp_rf7dy8_usermeta: Data: 0.00MB + Index: 0.01MB + Engine MyISAM
wp_rf7dy8_users: Data: 0.00MB + Index: 0.00MB + Engine MyISAM

### Post Type Counts ###

acf-field: 46
acf-field-group: 1
acf-post-type: 1
acf-taxonomy: 1
attachment: 1818
custom_css: 1
customize_changeset: 5
elementor_icons: 1
elementor_library: 18
jet-engine: 1
mailpoet_page: 1
mc4wp-form: 1
nav_menu_item: 26
news: 2
oembed_cache: 2
page: 32
pdfposter: 1
post: 74
product: 16
product_variation: 402
revision: 1285
shop_order_placehold: 5
site-baselines: 95
tablepress_table: 3
wp_font_face: 33
wp_font_family: 12
wp_global_styles: 1
wpforms: 1

### Security ###

Secure connection (HTTPS): ✔
Hide errors from visitors: ✔

### Active Plugins (37) ###

ACF: Better Search: by Mateusz Gbiorczyk – 4.2.1
Advanced Custom Fields PRO: by WP Engine – 6.3.11
Clean Login: by codection – 1.14.6
Smash Balloon Custom Facebook Feed: by Smash Balloon – 4.2.6
Custom Twitter Feeds: by Smash Balloon – 2.2.5
Document Embedder Addons for Elementor: by bPlugins – 1.0.3
DreamHost Panel Login: by DreamHost
danielbachhuber – 1.0.0

Duplicator: by Duplicator – 1.5.11.2
Dynamic Visibility for Elementor: by Dynamic.ooo – 5.0.15
Elementor Pro: by Elementor.com – 3.25.4
Elementor: by Elementor.com – 3.25.10
Feeds for YouTube: by Smash Balloon YouTube Team – 2.2.4
FileBird Lite: by Ninja Team – 6.4.2
Site Kit by Google: by Google – 1.141.0
HT Mega – Absolute Addons for Elementor.: by HasThemes – 2.7.6
Smash Balloon Instagram Feed: by Smash Balloon – 6.6.1
Jetpack: by Automattic – 14.1
Kliken: Ads + Pixel for Meta: by Kliken – 1.0.2
MC4WP: Mailchimp for WordPress: by ibericode – 4.9.19
MailPoet: by MailPoet – 5.4.0
Password Protected Categories: by Barn2 Plugins – 2.1.23
Printful Integration for WooCommerce: by Printful – 2.2.10
Printify Shipping Method: by Printify – 3.0
ReOrder Posts within Categories: by Aurorata V. – 2.14.5
Reviews Feed: by Smash Balloon – 1.2.0
Smart Slider 3: by Nextend – 3.5.1.25
TablePress: by Tobias Bäthge – 3.0.1
Advanced Editor Tools: by Automattic – 5.9.2
Title Remover: by WPGurus – 1.2.1
UpdraftPlus - Backup/Restore: by TeamUpdraft
DavidAnderson – 1.24.11

WooCommerce.com Update Manager: by Automattic – 1.0.3
WooPayments: by WooCommerce – 8.5.1 (update to version 8.6.0 is available)
WooCommerce Shipping & Tax: by WooCommerce – 2.8.3
WooCommerce: by Automattic – 9.4.2 (update to version 9.4.3 is available)
Wordfence Security: by Wordfence – 8.0.1
WP Mail SMTP: by WP Mail SMTP – 4.2.0
WPForms: by WPForms – 1.9.2.3

### Inactive Plugins (0) ###


### Dropin Plugins () ###

advanced-cache.php: advanced-cache.php

### Settings ###

Legacy API Enabled: –
Force SSL: –
Currency: USD ($)
Currency Position: left
Thousand Separator: ,
Decimal Separator: .
Number of Decimals: 2
Taxonomies: Product Types: external (external)
grouped (grouped)
simple (simple)
variable (variable)

Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)
exclude-from-search (exclude-from-search)
featured (featured)
outofstock (outofstock)
rated-1 (rated-1)
rated-2 (rated-2)
rated-3 (rated-3)
rated-4 (rated-4)
rated-5 (rated-5)

Connected to WooCommerce.com: ✔
Enforce Approved Product Download Directories: ✔
HPOS feature enabled: ✔
Order datastore: Automattic\WooCommerce\Internal\DataStores\Orders\OrdersTableDataStore
HPOS data sync enabled: –

### Logging ###

Enabled: ✔
Handler: Automattic\WooCommerce\Internal\Admin\Logging\LogHandlerFileV2
Retention period: 30 days
Level threshold: –
Log directory size: 942 KB

### WC Pages ###

Shop base: #7371 - /shop/
Cart: #7372 - /cart/ -  Contains the woocommerce/cart block
Checkout: #7373 - /checkout/ -  Contains the woocommerce/checkout block
My account: #7374 - /my-account/
Terms and conditions: ❌ Page not set

### Theme ###

Name: Hello Elementor
Version: 3.1.1
Author URL: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Child Theme: ❌ – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme
WooCommerce Support: ✔

### Templates ###

Overrides: –

### WooPayments ###

Version: 8.5.1
Connected to WPCOM: Yes
WPCOM Blog ID: 159768428
Account ID: acct_1QG1uCFdL5EJ3qfy
Payment Gateway: Enabled
Test Mode: Disabled
Enabled APMs: card
WooPay: Enabled (product,cart,checkout)
WooPay Incompatible Extensions: No
Apple Pay / Google Pay: Enabled (product,cart,checkout)
Fraud Protection Level: basic
Multi-currency: Enabled
Auth and Capture: Enabled
Documents: Disabled
Logging: Disabled

### MailPoet ###

Sending Method: PHPMail
Send all site's emails with: Default WordPress sending method
Task Scheduler method: Action Scheduler
Cron ping URL: https://swcocanyons.org?mailpoet_router&endpoint=cron_daemon&action=ping

### Admin ###

Enabled Features: activity-panels
analytics
product-block-editor
coupons
core-profiler
customize-store
customer-effort-score-tracks
import-products-task
experimental-fashion-sample-products
shipping-smart-defaults
shipping-setting-tour
homescreen
marketing
mobile-app-banner
navigation
onboarding
onboarding-tasks
pattern-toolkit-full-composability
product-custom-fields
remote-inbox-notifications
remote-free-extensions
payment-gateway-suggestions
printful
shipping-label-banner
subscriptions
store-alerts
transient-notices
woo-mobile-welcome
wc-pay-promotion
wc-pay-welcome-page
launch-your-store

Disabled Features: product-data-views
experimental-blocks
minified-js
product-pre-publish-modal
settings
async-product-editor-category-field
product-editor-template-system
blueprint
reactify-classic-payments-settings
use-wp-horizon

Daily Cron: ✔ Next scheduled: 2024-12-06 20:08:32 +00:00
Options: ✔
Notes: 75
Onboarding: completed

### Action Scheduler ###

Canceled: 2
Oldest: 2024-11-24 19:28:04 +0000
Newest: 2024-12-04 03:36:07 +0000

Complete: 12,734
Oldest: 2024-11-05 19:31:12 +0000
Newest: 2024-12-06 19:29:32 +0000

Failed: 6
Oldest: 2024-04-06 22:35:54 +0000
Newest: 2024-11-11 00:36:24 +0000

Pending: 17
Oldest: 2024-12-06 19:31:33 +0000
Newest: 2024-12-12 14:00:59 +0000


### Status report information ###

Generated at: 2024-12-06 19:31:14 +00:00

@samnajian samnajian changed the title Incorrect tax rates for Colorado [Investigate] Incorrect tax rates for Colorado Dec 16, 2024
@iyut iyut self-assigned this Dec 16, 2024
@iyut iyut changed the title [Investigate] Incorrect tax rates for Colorado Incorrect tax rates return from TaxJar for Colorado Dec 17, 2024
@iyut
Copy link
Collaborator

iyut commented Dec 17, 2024

After doing some investigation and testing, the issue seems not from the plugin. The plugin seems display and save exactly what the rates return from the TaxJar. The issue here is because the TaxJar rate return is inconsistent. CMIIW, I think the rate return for Dolores, Colorado need to be consistent whether it's using 5 digits postcode or 9 digits postcode.

At the moment, I'm trying to contact TaxJar support to ask about this issue. I'll update here if I have any reply from them.

@iyut
Copy link
Collaborator

iyut commented Dec 18, 2024

@samnajian , I just got a reply from TaxJar :

We use a variety of factors to determine the correct rate, including the buyer's address. At the minimum, we require the buyer's zip code to make a tax calculation, but because a zip code may contain multiple rates, our calculations will return the most accurate sale tax rate when the city and zip+4 is provided: https://developers.taxjar.com/api/reference/#get-show-tax-rates-for-a-location

Because we offer rooftop accuracy calculations in all states, a 5 digit zip code may contain multiple rates.

Our system will return the most accurate sale tax rate when the city and zip+4 is provided, which means you'll often notice minor differences in rates with a 5 digit only zip.

  • Moving forward, accuracy can be improved by using 9 digit zip codes or the full street address!

24187 Road S.8 and 24187 Road S are different addresses.

24187 Road S.8 has a 7.3% rate, while 24187 Road S has a 3.3% rate.

Based on what they say, it seems the most accurate tax will be by using 9 digit zip codes.
Moving forward, I would like to implement a notice in the checkout page to let the user know that it's best to use 9 digit zip code for more accurate tax rate. WDYT?

@paulostp
Copy link

#2825 might be related to this as well. The same 5-digit zip code can have more than one tax rate, so TaxJar needs more information about the address in order to return the rate that applies to that specific location.

@samnajian
Copy link
Contributor Author

samnajian commented Dec 18, 2024

Based on what they say, it seems the most accurate tax will be by using 9 digit zip codes.
Moving forward, I would like to implement a notice in the checkout page to let the user know that it's best to use 9 digit zip code for more accurate tax rate. WDYT?

This makes sense to me, as it seems we can't do more about it.

What do you think about this approach @laurajohnsonwoo || @MatthiasReinholz ?

@laurajohnsonwoo
Copy link

laurajohnsonwoo commented Dec 18, 2024

Based on what they say, it seems the most accurate tax will be by using 9 digit zip codes.
Moving forward, I would like to implement a notice in the checkout page to let the user know that it's best to use 9 digit zip code for more accurate tax rate. WDYT?

This makes sense to me, as it seems we can't do more about it.

What do you think about this approach @laurajohnsonwoo || @MatthiasReinholz ?

Hmmm I don't think most Americans know their 9-digit zip code. I have no idea what mine is! That would add too much friction to the checkout experience.

From TaxJar:

Moving forward, accuracy can be improved by using 9 digit zip codes or the full street address!

Is there a reason we can't use the full street address?

@hayley-king
Copy link

hayley-king commented Dec 18, 2024

Unfortunately, using the full street address in the original ticket does not provide the correct rates from TaxJar. An order was placed with the address and was charged 7.3% instead of 3.3%

Full address with 5 digit zip: https://d.pr/i/ZEVn0G
Full address with 9 digit zip: https://d.pr/i/xHmKaB

Ref: 9142961-zen

@samnajian
Copy link
Contributor Author

With @hayley-king's help we checked 2 other tools, https://colorado.ttr.services/ and https://www.avalara.com/taxrates/en/state-rates/colorado.html
There is a discrepancy in tax rate calculations for the address 24187 Road S.8, Dolores, CO between TaxJar and Avalara. Avalara reports the correct rate of 3.3%, even without a full ZIP code, while TaxJar does not provide the same result for the short Zip vs 9 digit Zip.

@hayley-king
Copy link

If we add the notice to the checkout, should we include a link to USPS to help users find their 9-digit zip code?

https://tools.usps.com/zip-code-lookup.htm?byaddress

@iyut
Copy link
Collaborator

iyut commented Dec 19, 2024

One other thing that we can do for this issue is probably trying to implement the address validation feature like WC Shipping has in this PR. Address validation could help adding 9 digit zip code into the address field.

However, it might take a lot of time to develop and testing as well.

@samnajian
Copy link
Contributor Author

One other thing that we can do for this issue is probably trying to implement the address validation feature like WC Shipping has in this PR. Address validation could help adding 9 digit zip code into the address field.

However, it might take a lot of time to develop and testing as well.

@iyut We don't want to add more features to WCS&T, let's work on more low-input solutions.

@iyut
Copy link
Collaborator

iyut commented Dec 26, 2024

If we add the notice to the checkout, should we include a link to USPS to help users find their 9-digit zip code?

Hi @samnajian @hayley-king @laurajohnsonwoo will that be ok if I go ahead with the suggestion above?

@samnajian
Copy link
Contributor Author

Hi @samnajian @hayley-king @laurajohnsonwoo will that be ok if I go ahead with the suggestion above?

@iyut it makes sense to me, what do you think @laurajohnsonwoo ?

@lynnjat7
Copy link

lynnjat7 commented Jan 3, 2025

More discussion on this in 9230840-zen

@lynnjat7
Copy link

lynnjat7 commented Jan 6, 2025

Daniel from TaxJar responded to the ticket above (9230840-zd-a8c) with some more detailed information about Colorado tax rates. It doesn't look like simply using your 9-digit zipcode is enough to correct this issue. Instead, there are complex rules here that are based on the business' entered address. Taxes are only charged within the business' home city and county, which is apparently (according to the merchants) not how Colorado Home Rule Cities actually do it. Plus, this becomes very complex for companies that either a) have a nexus in Colorado but don't have a physical presence, or b) have more than one physical location, which TaxJar doesn't actually support.

Here is what Daniel said in that ticket:


Colorado has quite a complicated sales & use tax process. Here is a general overview which would apply to most sellers. Please note that this is not a comprehensive account of all scenarios.

Colorado Sales Tax:
Reported for users with a selling location in Colorado. Sales tax is charged for only taxing jurisdictions the seller's address shares with the customer's ship-to address (destination based) within the seller's county. State sales tax is charged only for sales shipped to customers in the seller's county (see the next paragraph for how to report the state tax for the rest of your CO sales). County sales tax is only charged for sales shipped to customers in the seller's county. City sales tax is only charged for sales shipped to customers in the seller's city. District tax sales tax is only charged for sales shipped to customers in the seller's county who are located in the same district(s) as the seller.

Colorado Retailer's Use Tax:
Reported for all out of state sellers with nexus and all sellers with selling locations in Colorado who also ship goods to customers outside their county. State retailer's use tax is charged for all sales shipped to customers outside the seller's county. Counties and cities generally do not levy use taxes (except for automobiles and building materials becoming parts of real property in some jurisdictions), so no county/city retailer's use tax should be charged on sales outside the seller's county. District retailer's use tax is only charged for sales to customers outside the seller's county who are located in districts which levy a use tax (RTD, CD, and RTA only).

Please note that the above applies generally to sellers with only one or zero locations in Colorado - sellers are typically required to collect sales taxes in all jurisdictions they have selling locations in, but we do not yet support multiple selling location filing in CO. Colorado also has home rule cities which may have slightly different rules regarding nexus in their jurisdiction and when a seller is required to collect. If you have any questions regarding a home rule city, we suggest contacting the city directly.

Due to the complexity in Colorado's home rule sales tax collection and the lack of uniformity between counties, we don’t support automatic sales tax collection or reporting for Colorado home rule cities. You can see this reflected in your Colorado report on your TaxJar dashboard, where the report section lists home rule cities that require self-collection.

There is a manual workaround that can exclusively be implement through a custom integration with our API for sales tax collection purposes within those jurisdictions.

One way to collect in multiple Home Rule Cities would involve using the nexus_addresses
parameter when calling /v2/taxes. Using the nexus_addresses parameter would tell TaxJar's system to ignore the addresses in your account's Business Profile and State Settings.

If you add the nexus_addresses parameter, please note that you need to enter in all of your nexus states for that parameter, not just your Colorado nexus addresses. Our system will only look at those states when deciding if you need to collect tax. We will ignore the addresses in your Business Profile and State Settings in TaxJar when that parameter is present.

If you match the shipping/to_address with the nexus_address, we will collect Home Rule taxes. This is a manual development your engineering team can implement for Colorado. This approach allows for accurate tax collection for Home Rule cities based on your specific nexus configurations.

As we cannot give legal advice, please consider the following to be informal guidance.


So not sure what we should recommend going forward. It appears that businesses selling with a nexus in Colorado, who are either not physically located in Colorado or have more than one physical location in Colorado, will require some custom modifications in order to use TaxJar properly.

@lynnjat7
Copy link

lynnjat7 commented Jan 6, 2025

Also wanted to add two additional ideas I had here that might work:

@lynnjat7
Copy link

Just another update to say that it looks like this is going to be an ongoing issue for any merchants that:

  • have a nexus in Colorado but don't have a physical location
  • have more than one physical location in Colorado
  • have a physical location in Colorado but sell throughout the state

For now, TaxJar will continue to collect Home Rule city taxes only in the narrow case of:

  • shop is physically located in a Home Rule city in Colorado, AND
  • shipment / customer is located in the same Home Rule city

Otherwise, Home Rule city taxes will not be applied.

For any WooCommerce support staff reading this, there is an internal post with additional summary information and brainstorming about how to handle this on the WooHappy blog. It's linked on this ticket:
9230840-zen

@iyut
Copy link
Collaborator

iyut commented Feb 12, 2025

Hi @lynnjat7, Thanks a lot for the useful information you have shared above.

If you match the shipping/to_address with the nexus_address, we will collect Home Rule taxes. This is a manual development your engineering team can implement for Colorado. This approach allows for accurate tax collection for Home Rule cities based on your specific nexus configurations.

We actually have taken the nexus_address approach for Colorado calculation. The shipping/to_address has been programmed to be matched with the nexus_address parameter if store address and shipping address is on Colorado.

It doesn't look like simply using your 9-digit zipcode is enough to correct this issue.

Yeah, I also believe 9-digit zipcode won't be enough to correct all Colorado tax issue. But with limited parameter or option that we have ( such as: shipping address and store address ) I feel like it can narrow down the tax calculation issue.`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants