Can't seem to create an association

I have two tables, user & provider and I'm struggling to set up the
association between them.

A simplified table structure for the two is:

CREATE TABLE users (
    id integer not null,
    login string not null,
    password string not null
)

CREATE TABLE providers (
    id integer not null,
    user_id integer not null,
    ...
)

and I've used the generater to create two modules, as follows (cut
down)

class User < ActiveRecord::Base
  has_one :provider

  def invoices_raised
    provider.get_invoices
  end

  ....

end

class Provider < ActiveRecord::Base
  has_many :invoices
  belongs_to :user

  def get_invoices
    invoices.find(:all)
  end
end

I have a controller that calls invoices_raised :

class AccountController < ApplicationController
  model :user

  before_filter :get_invoices

  def get_invoices
    @user = User.find(@session['user'].id)

    @invoices_raised = @user.invoices_raised
  end

  ...

end

but inside the invoices_raised method I get the following error:

You have a nil object when you didn't expect it!
The error occured while evaluating nil.get_invoices

I thought that using belongs_to & has_one was supposed to implicitly
create a provider instance for me?