From Xero to export hero: Craig Hudson heads to NZTE

Craig Hudson is still focused on export growth. (Image: Xero)
Xero’s loss is New Zealand exporters’ gain, with the announcement that Craig Hudson, the former NZ managing director for the accounting software company, is to become general manager of export customers for NZ Trade and Enterprise (NZTE).Hudson announced in August his departure from Xero, where he’d led NZ operations since 2017, as part of a global management restructuring that saw the NZ leader's role downgraded to country manager.Hudson will lead a team of more than 80 customer managers at the government’s export a...
Subscribe to BusinessDesk
Stay informed on business, government and financial developments across New Zealand.
- Deeply researched, twice-edited and fact-checked news
- Annual subscribers also receive a complimentary subscription to The Wall Street Journal
- Personalised email news alerts, plus gift up to 5 stories a month to non-subscribers
You can cancel anytime with two clicks, an email or a phone call.
Find out
more.
We are serious about journalism.
{{ registerForm.errors.get('form') }}
We had trouble validating your card. It's possible your card provider is preventing us from charging the card. Please contact your card provider or customer support.
{{ cardForm.errors.get('card') }}
{{ registerForm.errors.get('plan') }}
{{ __(plans[index].name) | capitalize }}
{{ plans[index].attributes.old_price | currency }}
{{ plans[index].price | currency }}
All subscriptions auto renew but are easy to cancel.
Tax: {{ taxAmount(selectedPlan) | currency }}
Total Price Including Tax: {{ priceWithTax(selectedPlan) | currency }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerSeat ? '/ '+ spark.seatName : '' }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerTeam ? '/ '+ __('teams.team') : '' }} / {{ __(selectedPlan.interval) | capitalize }}
Total Price Including Tax: {{ priceWithTax(selectedPlan) | currency }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerSeat ? '/ '+ spark.seatName : '' }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerTeam ? '/ '+ __('teams.team') : '' }} / {{ __(selectedPlan.interval) | capitalize }}
{{ registerForm.errors.get('email') }}
Not convinced yet?
Subscribe to our free 7am Headlines newsletter.
A quick summary of everything BusinessDesk has published in the previous 24 hours. No BusinessDesk
subscription needed.