Hi pgg; fellow Canadian here, have been in somewhat similar position; feel free to reach out (email is in profile).

Will this be a services business (e.g. consulting/work for hire) or selling of products/services?

There are many factors involved in the decision, e.g.:

- If you incorporate in Canada, you may find you need to open a USD-denominated account with your bank here to avoid currency losses. You would probably also need a CAD account, and for selling in Canada you would need to account for GST and possibly provincial tax, depending on where you're based, since you would have a presence here. You could elect with CRA that your books are denominated in USD -- but be aware that multi currency accounting adds an extra layer of complexity to your life. With 50% shareholding defined up front, the bank here is probably going to want to have signatures from both shareholders to set up an account.

- If you are soliciting sales in the US, you may be considered to have "nexus" in the US, probably based on the state of your co-founder (at least initially). That may mean reporting/filing obligations in that state, particularly if your sales go over a certain level. There are also obligations regarding tax filings in other states if you or co-founder travel there enough and sales there are high enough. Certain states are actively going after Canadian companies for these filings with heavy penalties. There comes a point where, to trade in the US, it is arguably just simpler to be incorporated in the US for those transactions. It is relatively easy to incorporate in the US (recommend Delaware) but the corporation will still need to be aware of its tax filing obligations in other states, particularly in the state your co-founder is based.

- Depending on how you're planning on taking payments, it may be useful to know that e.g. Stripe will allow you to bill in USD and settle into a USD-denominated account in Canada (or in CAD/USD and settle into a CAD-denominated account with conversion as needed). But you should know that settlement times are different if you are settling to an account in Canada, vs an account in the US. IIRC Stripe starts out as taking 7 days to settle to an account in Canada, the shortest we've been able to get that to was 4 days after we built up some history. By contrast, we get our charges to US-based bank account settled in 2 days.

- If you would be eligible to claim R&D tax credits, my sense is that (at least at present) the Canadian SR&ED scheme is easier/better than the US equivalent, both in terms of what you can get back and the amount of effort/time it takes. In either case, claiming an R&D credit would typically be dependent on being incorporated and running payroll in that country.

- Your Canadian customers are probably going to expect/prefer to be dealing in CAD (with proper GST/HST/PST etc) with a Canadian company and bank. Your US customers are probably going to expect to be dealing in USD with a US-based company and bank. If you are physically shipping products, know that US customers in particular don't like cross-border shipments for several reasons (including that they are more expensive).

- It can be helpful to have separate CAD and USD credit cards.

- There are certain kinds of financing that are way easier to access when incorporated in the US. And others that are easier when incorporated in Canada.

So really what you are doing is optimizing for complexity, taxes, movement of currency, cash flow, filing overheads etc over all those factors.

While it really needs more info about your specific opportunity, one thought is to consider incorporating separately in both countries (eventually as the business grows, it may well end up there anyway). You could even start by you owing 100% of the Canadian company, your co-founder 100% of the US company, and having a simple business agreement between the two companies regarding how the name is controlled/shared/owned, and how profit is shared (e.g. on the basis of royalties) etc. Of course you could also set it up as one being subsidiary of another, but not doing that at the outset, will probably make it easier for you to start out.