-
Notifications
You must be signed in to change notification settings - Fork 179
Canadian shipments Retrieve rates including Duties and Taxes
geermc4 edited this page Nov 29, 2012
·
3 revisions
Fedex API allows you to retrieve Duties and Taxes associated to shipments going to Canada, please be sure to check the documentation and talk to your Fedex representative to make sure you have the right information.
Below is an example of how to pass Customs Clearance Information(I strongly recommended you to validate your results and work with a Fedex rep to make sure your charges are accurate).
shipper = {:name => "Sender",
:company => "Company",
:phone_number => "555-555-5555",
:address => "Main Street",
:city => "Harrison",
:state => "AR",
:postal_code => "72601",
:country_code => "US"}
packages = []
packages << {:weight => {:units => "LB",
:value => 2},
:dimensions => {:length => 10,
:width => 5,
:height => 4, :units => "IN" } }
packages << {:weight => {:units => "LB",
:value => 6},
:dimensions => {:length => 5,
:width => 5,
:height => 4,
:units => "IN" } }
canadian_recipient = {:name => "Recipient",
:company => "Company",
:phone_number => "555-555-5555",
:address=>"Address Line 1",
:city => "Richmond",
:state => "BC",
:postal_code => "V7C4V4",
:country_code => "CA",
:residential => "true" }
broker = {:account_number => "123456",
:tins => {:tin_type => "BUSINESS_NATIONAL",
:number => "431870271",
:usage => "Usage" },
:contact => {:contact_id => "1",
:person_name => "Broker Name",
:title => "Broker",
:company_name => "Broker One",
:phone_number => "555-555-5555",
:phone_extension => "555-555-5555",
:pager_number => "555",
:fax_number=> "555-555-5555",
:e_mail_address => "[email protected]" },
:address => {:street_lines => "Main Street",
:city => "Franklin Park",
:state_or_province_code => 'IL',
:postal_code => '60131',
:urbanization_code => '123',
:country_code => 'US',
:residential => 'false' } }
clearance_brokerage = "BROKER_INCLUSIVE"
importer_of_record= {:account_number => "22222",
:tins => {:tin_type => "BUSINESS_NATIONAL",
:number => "22222",
:usage => "Usage" },
:contact => { :contact_id => "1",
:person_name => "Importer Name",
:title => "Importer",
:company_name => "Importer One",
:phone_number => "555-555-5555",
:phone_extension => "555-555-5555",
:pager_number => "555",
:fax_number=> "555-555-5555",
:e_mail_address => "[email protected]" },
:address => {:street_lines => "Main Street",
:city => "Chicago",
:state_or_province_code => 'IL',
:postal_code => '60611',
:urbanization_code => '2308',
:country_code => 'US',
:residential => 'false' } }
recipient_customs_id = {:type => 'COMPANY',
:value => '1254587' }
duties_payment = {:payment_type => "SENDER",
:payor => {:account_number => "123456",
:country_code => "US" } }
customs_value = {:currency => "USD",
:amount => "200" }
commodities = []
commodities << {:name => "Cotton Coat",
:number_of_pieces => "2",
:description => "Cotton Coat",
:country_of_manufacture => "US",
:harmonized_code => "6103320000",
:weight => {:units => "LB", :value => "2"},
:quantity => "3",
:unit_price => {:currency => "USD", :amount => "50" },
:customs_value => {:currency => "USD", :amount => "150" } }
commodities << {:name => "Poster",
:number_of_pieces => "1",
:description => "Paper Poster",
:country_of_manufacture => "US",
:harmonized_code => "4817100000",
:weight => {:units => "LB", :value => "0.2"},
:quantity => "3",
:unit_price => {:currency => "USD", :amount => "50" },
:customs_value => {:currency => "USD", :amount => "150" } }
customs_clearance = {:broker => broker,
:clearance_brokerage => clearance_brokerage,
:importer_of_record => importer_of_record,
:recipient_customs_id => recipient_customs_id,
:duties_payment => duties_payment,
:customs_value => customs_value,
:commodities => commodities }
fedex = Fedex::Shipment.new(credentials_hash)
rate = fedex.rate({:shipper => shipper, :recipient => canadian_recipient, :packages => packages, :service_type => "FEDEX_GROUND", :customs_clearance => customs_clearance})
rate.total_net_charge #Includes Duties and Taxes