""" Configuration for Ontario, Canada — Ontario Business Corporations Act (OBCA). Ontario uses a provincial incorporation system governed by the Ontario Business Corporations Act (RSO 1990, c. B.16). Entities formed here are Ontario corporations — LLCs do not exist under Canadian law. Portal stack: - Ontario Business Registry (ontario.ca/obr) — filing & annual returns NOTE: OBR requires authentication (ONe-key or other ON government login). Use Performance West house account for filing. - Ontario NUANS name search — for named companies - Anytime Mailbox (anytimemailbox.com) — virtual mailbox for registered office - CRTC — Canadian Radio-television and Telecommunications Commission (requires notification letter for telecom carriers) Currency: all fees in CAD (C$). OBR filing steps (to be verified against live portal): 1. Login with ONe-key 2. Select "Incorporate Ontario Business Corporation" 3. Enter corporation name (or request numbered) 4. Director information (minimum 1, no residency requirement for OBCA) 5. Registered office address 6. Articles / share structure 7. Payment (C$360) 8. Receive Ontario corporation number """ CONFIG = { "jurisdiction": "Ontario", "country": "Canada", "abbreviation": "ON", "entity_types": ["corporation"], # No LLCs in Canada # ------------------------------------------------------------------ # # Portal schedule — Ontario Business Registry hours # OBR is available 24/7 as a web portal (to be verified) # ------------------------------------------------------------------ # "portal_schedule": { "timezone": "America/Toronto", "jurisdiction": "ON", "closed_holidays": True, "hours": { "mon": [0, 24], "tue": [0, 24], "wed": [0, 24], "thu": [0, 24], "fri": [0, 24], "sat": [0, 24], "sun": [0, 24], }, }, # ------------------------------------------------------------------ # # Ontario Business Registry (OBR) # Requires authentication — use PW house account. # ------------------------------------------------------------------ # "agency": "Ontario Ministry of Public and Business Service Delivery", "agency_url": "https://www.ontario.ca/page/ministry-public-business-service-delivery", "filing_portal": { "name": "Ontario Business Registry", "url": "https://www.ontario.ca/page/ontario-business-registry", "incorporate_url": "https://www.ontario.ca/page/ontario-business-registry", # TBD: direct link "annual_return_url": "https://www.ontario.ca/page/ontario-business-registry", "login_url": "https://www.ontario.ca/page/ontario-business-registry", # ONe-key auth }, "name_request_portal": { "name": "Ontario NUANS Name Search", "url": "https://www.nuans.com", "search_url": "https://www.nuans.com", }, # ------------------------------------------------------------------ # # Registered & Records Office — Anytime Mailbox (Ontario locations) # ------------------------------------------------------------------ # "registered_office_default": "vaughan", "registered_office_locations": { "vaughan": { "id": "vaughan", "label": "Vaughan (Best Value — C$5/mo)", "street": "2160 Hwy 7", "suite_prefix": "Suite", "city": "Vaughan", "province": "ON", "postal_code": "L4K 1W6", "country": "Canada", "plan": "Basic", "plan_cost_cad": 60.00, # ~C$5/mo x 12 "plan_period": "yearly", "default": True, }, "toronto-dundas": { "id": "toronto-dundas", "label": "Toronto - Dundas St W (C$7.99/mo)", "street": "2967 Dundas St W", "suite_prefix": "Suite", "city": "Toronto", "province": "ON", "postal_code": "M6P 1Z2", "country": "Canada", "plan": "Basic", "plan_cost_cad": 95.88, # ~C$7.99/mo x 12 "plan_period": "yearly", "default": False, }, "mississauga-canadian": { "id": "mississauga-canadian", "label": "Mississauga - Canadian Pl (C$8.99/mo)", "street": "1065 Canadian Pl", "suite_prefix": "Suite", "city": "Mississauga", "province": "ON", "postal_code": "L4W 0C2", "country": "Canada", "plan": "Basic", "plan_cost_cad": 107.88, # ~C$8.99/mo x 12 "plan_period": "yearly", "default": False, }, "toronto-davenport": { "id": "toronto-davenport", "label": "Toronto - Davenport Rd (C$13.99/mo)", "street": "1463 Davenport Rd", "suite_prefix": "Suite", "city": "Toronto", "province": "ON", "postal_code": "M6H 2H6", "country": "Canada", "plan": "Basic", "plan_cost_cad": 167.88, # ~C$13.99/mo x 12 "plan_period": "yearly", "default": False, }, "markham": { "id": "markham", "label": "Markham (C$10.99/mo)", "street": "570 Hood Rd", "suite_prefix": "Suite", "city": "Markham", "province": "ON", "postal_code": "L3R 4G7", "country": "Canada", "plan": "Basic", "plan_cost_cad": 131.88, # ~C$10.99/mo x 12 "plan_period": "yearly", "default": False, }, }, # Legacy field — kept for backward compatibility with canada_crtc.py "registered_office": { "provider": "Anytime Mailbox", "provider_url": "https://www.anytimemailbox.com", "location": "Vaughan", "street": "2160 Hwy 7", "city": "Vaughan", "province": "ON", "postal_code": "L4K 1W6", "country": "Canada", "plan": "Basic", "plan_cost_cad": 60.00, "plan_period": "yearly", }, # ------------------------------------------------------------------ # # CRTC (federal — identical to BC) # ------------------------------------------------------------------ # "crtc": { "name": "Canadian Radio-television and Telecommunications Commission", "short_name": "CRTC", "secretary_general": "Secretary General, CRTC", "address": "1 Promenade du Portage", "city": "Gatineau", "province": "QC", "postal_code": "J8X 4B1", "country": "Canada", "website": "https://crtc.gc.ca", "notification_required": True, }, # ------------------------------------------------------------------ # # BITS (federal — identical to BC) # ------------------------------------------------------------------ # "bits": { "name": "BITS Registration", "description": ( "All Canadian telecom carriers must register with the CRTC " "under the Basic International Telecommunications Services (BITS) regime. " "Registration is filed via letter to the CRTC Secretary General." ), "filing_method": "letter", "annual_fee_cad": 0.00, "renewal_required": False, }, # ------------------------------------------------------------------ # # CCTS (federal — identical to BC) # ------------------------------------------------------------------ # "ccts": { "name": "Commission for Complaints for Telecom-television Services", "short_name": "CCTS", "website": "https://www.ccts-cprst.ca", "membership_url": "https://www.ccts-cprst.ca/for-service-providers/become-a-member/", "description": ( "All Canadian telecom service providers must participate in the CCTS, " "the national and independent organization dedicated to resolving " "customer complaints about telecom and TV services. " "Membership application is submitted online." ), "filing_method": "online_form", "annual_fee_cad": 0.00, "renewal_required": True, "renewal_period": "Yearly", }, # ------------------------------------------------------------------ # # GCKey (federal — identical to BC) # ------------------------------------------------------------------ # "gckey": { "name": "GCKey", "description": "Government of Canada authentication credential for online services", "homepage": "https://www.gckey.gc.ca", "auth_domain": "clegc-gckey.gc.ca", "saml_entry_url": "https://services.crtc.gc.ca/Pro/SmartForms/?_gc_lang=eng", "signup_path": "/j/eng/rg", "signup_steps": { "terms": { "execution": "e1s1", "accept_btn": "input[name=_eventId_accept]", "decline_btn": "input[name=_eventId_cancel]", }, "username": { "execution": "e1s2", "field": "input[name=uid][id=userID]", "submit_btn": "input[name=_eventId_submit][id=button]", "hcaptcha_sitekey": "99871bd1-7b22-417a-b6cc-7ef645e5147a", }, "password": { "execution": "e1s3", "field": "input[type=password][name=pwd]", "confirm_field": "input[type=password][name=confirmPwd]", "submit_btn": "input[name=_eventId_submit]", }, "security_questions": { "execution": "e1s4", "question_selects": "select", "answer_inputs": "input[type=text]", "submit_btn": "input[name=_eventId_submit]", }, "email": { "execution": "e1s5", "field": "input[type=email], input[name=email]", "submit_btn": "input[name=_eventId_submit]", }, }, "login_selectors": { "username": "input[name=token1][id=token1]", "password": "input[name=token2][id=token2]", "signin_btn": "button[id=button]", "csrf": "input[name=_csrf]", "hcaptcha_sitekey": "c745648c-d973-4223-99af-8d178dc17a6c", }, "username_prefix": "pw-", "password_rules": { "min_length": 8, "max_length": 16, "require_upper": True, "require_lower": True, "require_digit": True, "require_special": True, }, }, # ------------------------------------------------------------------ # # ATS (federal — identical to BC) # ------------------------------------------------------------------ # "ats": { "name": "CRTC Annual Telecommunications Survey", "portal_url": "https://services.crtc.gc.ca/Pro/SmartForms/?_gc_lang=eng", "gckey_url": "https://www.gckey.gc.ca", "my_crtc_url": "http://crtc.gc.ca/eng/forms/form_index.htm", "activation_code_phone": "1-877-249-2782", "forms": { "rep_t1": { "name": "REP-T/T1 — Annual Telecommunications Survey", "description": "Core annual survey for all telecom service providers", "deadline_month": 3, "deadline_day": 1, "threshold": "All registered carriers must file — no revenue threshold", "required_for_new_carriers": True, }, "rep_u": { "name": "REP-U — Universal Broadband Fund Survey", "description": "Survey for carriers participating in broadband fund", "deadline_month": 3, "deadline_day": 31, "threshold": "Carriers with >$10M CAD annual Canadian telecom revenue", "required_for_new_carriers": False, }, "form_802a": { "name": "Form 802a — Contribution Survey", "description": "Annual contribution obligation calculation", "deadline_month": 3, "deadline_day": 31, "threshold": "Carriers with >$10M CAD annual Canadian telecom revenue", "required_for_new_carriers": False, }, "form_802j": { "name": "Form 802j — Contribution Eligibility Survey", "description": "For carriers seeking subsidy eligibility under the national contribution fund", "deadline_month": 3, "deadline_day": 31, "threshold": "Only carriers seeking contribution fund subsidy eligibility", "required_for_new_carriers": False, }, }, "related_surveys": { "facilities": { "name": "Annual Facilities Survey", "description": "Network infrastructure details for carriers owning/operating telecom facilities", "deadline_month": 3, "deadline_day": 31, "threshold": "Carriers owning or operating telecom network facilities", "required_for_new_carriers": False, }, "pricing": { "name": "Annual Communications Pricing Survey", "description": "Pricing data for telecom services offered", "deadline_month": 3, "deadline_day": 31, "threshold": "Carriers with >$10M CAD annual Canadian telecom revenue", "required_for_new_carriers": False, }, }, }, # ------------------------------------------------------------------ # # Ontario Corporate Tax & Filing Obligations # Key differences from BC: # - Ontario uses HST (13%) — no separate PST # - WSIB instead of WorkSafeBC # - Ontario Annual Return instead of BC Annual Report # ------------------------------------------------------------------ # "corporate_obligations": { "t2_return": { "name": "Federal T2 Corporate Income Tax Return", "description": ( "All Canadian corporations must file a T2 return with the CRA, " "even if there is no tax owing or no business activity. " "Filed electronically via CRA My Business Account or certified tax software." ), "deadline_description": "6 months after fiscal year-end", "deadline_month": 6, "deadline_day": 30, "required": True, "penalty": "5% of unpaid tax + 1%/month for up to 12 months", "cra_url": "https://www.canada.ca/en/revenue-agency/services/tax/businesses/topics/corporations/corporation-income-tax-return.html", }, "t2_tax_payment": { "name": "Federal/Provincial Corporate Tax Payment", "description": ( "Corporate income tax balance owing is due earlier than the T2 return. " "For Canadian-Controlled Private Corporations (CCPCs) with taxable income " "under $500K, payment is due 3 months after year-end. " "Interest accrues on late payments." ), "deadline_description": "3 months after fiscal year-end (CCPCs under $500K)", "deadline_month": 3, "deadline_day": 31, "required": True, }, "gst_hst_return": { "name": "HST Return", "description": ( "Ontario uses HST (Harmonized Sales Tax) at 13% — combines " "federal GST (5%) and Ontario provincial portion (8%). " "If registered for HST (required if revenue > $30K/yr, " "recommended to register voluntarily for input tax credits). " "Annual filers: due 3 months after fiscal year-end. " "Telecom services are generally HST taxable." ), "deadline_description": "3 months after fiscal year-end (annual filers)", "deadline_month": 3, "deadline_day": 31, "threshold": "Mandatory if >$30K revenue; voluntary registration recommended", "required_for_new_carriers": True, }, "t4_t4a_slips": { "name": "T4/T4A Information Slips", "description": ( "If the corporation has employees or contractors paid >$500/yr, " "T4 (employment) and/or T4A (contractor) slips must be filed. " "Not applicable for most new shell telecom corporations." ), "deadline_description": "Last day of February following the calendar year", "deadline_month": 2, "deadline_day": 28, "threshold": "Only if corporation has employees or pays contractors >$500/yr", "required_for_new_carriers": False, }, "wsib": { "name": "WSIB (Workplace Safety and Insurance Board)", "description": ( "Required if the corporation has employees in Ontario. " "Annual return reports payroll for workers' compensation premium calculation. " "Not applicable for corporations with no employees." ), "deadline_description": "March 31 following the calendar year", "deadline_month": 3, "deadline_day": 31, "threshold": "Only if corporation has Ontario employees", "required_for_new_carriers": False, }, "crtc_registration_update": { "name": "CRTC Annual Registration Update", "description": ( "The CRTC contacts registered carriers annually to verify and update " "registration information. Must respond to maintain active registration status. " "The CRTC initiates this — you just need to respond." ), "deadline_description": "Respond within 30 days of CRTC contact (typically Q1)", "required": True, }, }, # ------------------------------------------------------------------ # # Fees (CAD) # ------------------------------------------------------------------ # "fees": { "name_reservation": 25.00, # NUANS search fee (~C$25) "incorporation": 360.00, # OBR filing fee "annual_report": 25.00, # Ontario Annual Return (much cheaper than BC) "mailbox_yearly": 60.00, # Anytime Mailbox cheapest (Vaughan ~C$5/mo) "currency": "CAD", }, # ------------------------------------------------------------------ # # Playwright selectors — Ontario Business Registry # # IMPORTANT: OBR requires authentication (ONe-key or partner login). # All selectors are STUBS — need live portal inspection before use. # ------------------------------------------------------------------ # "selectors": { # ── Login ──────────────────────────────────────────────────────── "login_username": "", # TBD: ONe-key selectors "login_password": "", "login_submit": "", # ── Filing wizard (all TBD) ───────────────────────────────────── "inc_numbered_company_radio": "", "inc_nr_number": "", "inc_next_btn": "", "inc_director_first": "", "inc_director_last": "", "inc_director_addr1": "", "inc_director_city": "", "inc_director_prov": "", "inc_director_postal": "", "inc_director_country": "", "inc_registered_office_street": "", "inc_registered_office_city": "", "inc_registered_office_province": "", "inc_registered_office_postal": "", "inc_share_structure": "", "pay_card_number": "", "pay_card_exp": "", "pay_card_cvv": "", "pay_submit": "", "inc_submit": "", "inc_confirmation_number": "", # ── Name search (NUANS) ───────────────────────────────────────── "name_search_input": "", "name_search_submit": "", "name_result_available": "", "name_result_unavailable": "", # ── Anytime Mailbox (same selectors as BC — AMB is a single platform) ── "amb_location_search": "input[placeholder*='city' i], input[placeholder*='search' i]", "amb_email": "input[type='email'], input[name*='email' i]", "amb_password": "input[type='password'], input[name*='password' i]", "amb_phone": "input[type='tel'], input[name*='phone' i]", "amb_first_name": "input[name*='firstName' i], input[name*='first_name' i]", "amb_last_name": "input[name*='lastName' i], input[name*='last_name' i]", "amb_business_name": "input[name*='business' i], input[placeholder*='Business name' i]", "amb_plan_select": "button:has-text('Select'), a:has-text('Select')", "amb_plan_period_yearly": "input[type='radio'][value*='year' i], label:has-text('Yearly')", "amb_location_select": "button:has-text('Choose'), button:has-text('Select this location')", "amb_continue": "button:has-text('Continue'), button:has-text('Next')", "amb_otp": "input[name*='otp' i], input[name*='code' i]", "amb_otp_submit": "button:has-text('Verify'), button:has-text('Submit')", "amb_checkout_submit": "button:has-text('Complete'), button:has-text('Subscribe')", # ── Annual Return ──────────────────────────────────────────────── "ar_filing_year": "", "ar_confirm_address": "", "ar_submit": "", }, # ------------------------------------------------------------------ # # Ontario DID area codes # ------------------------------------------------------------------ # "did_area_codes": [ "416", "437", "647", # Toronto "905", "289", "365", # GTA (Greater Toronto Area) "519", "226", "548", # Southwestern Ontario "613", "343", # Eastern Ontario / Ottawa "705", "249", # Northern Ontario "807", # Northwestern Ontario ], # ------------------------------------------------------------------ # # Notes # ------------------------------------------------------------------ # "notes": ( "Ontario Business Corporations Act (RSO 1990, c. B.16) requirements:\n" " - Must have at least one director (no Canadian residency requirement\n" " if OBCA corporation — unlike CBCA which requires 25% resident).\n" " - Registered office must be in Ontario.\n" " - We use Anytime Mailbox at client's chosen Ontario location.\n" " - NUANS name search required for named companies (~C$25).\n" " - Numbered companies do not require a name search.\n" " - Ontario Annual Return due within 60 days of anniversary date.\n" " - Annual Return fee: C$25 (much cheaper than BC's C$42).\n" " - Ontario uses HST (13%) — no separate PST.\n" " - Entity name format: '1234567 Ontario Inc.' for numbered companies.\n" " - CRTC notification required for telecom service providers.\n" " - All fees in Canadian Dollars (CAD).\n" " - OBR portal requires login — use PW house account (ONe-key)." ), }