Skip to content

gemento/solidus_print_invoice

Repository files navigation

SUMMARY

This extension provides a "Print Invoice" button on the Admin Orders view screen which generates a PDF of the order details.

INSTALLATION

  1. The gem relies only on the prawn gem, to install you need to add the following lines to your Gemfile
gem 'spree_print_invoice' , github: 'spree-contrib/spree_print_invoice', branch: '2-4-stable'
  1. Run bundler
$ bundle install
  1. Install migration
$ rails g spree_print_invoice:install
  1. Enjoy! Now allow to generate invoices with sequential numbers

Configuration

  1. Set the logo path preference to include your store / company logo.
Spree::PrintInvoice::Config.set(print_invoice_logo_path: "/path/to/public/images/company-logo.png")
  1. Add your own own footer texts to the locale. The current footer works with :footer_left1 , :footer_left2 and :footer_right1, :footer_right2 where the 1 version is on the left in bold, and the 2 version the "value" on the right.

  2. Override any of the partial templates. They are address, footer, totals, header, bye, and the line_items. In bye the text :thanks is printed. The :extra_note hook has been deprecated as Spree no longer supports hooks.

  3. Set :suppress_anonymous_address option to get blank addresses for anonymous email addresses (as created by my spree_last_address extension for empty/unknown user info)

  4. Many european countries requires numeric and sequential invoices numbers. To use invoices sequential number fill the specific field in "General Settings" or by set

Spree::PrintInvoice::Config.set(print_invoice_next_number: [1|{your current next invoice number}])

The next invoice number will be the one that you specified. You will able to increase it in any moment, for example, to re-sync invoices number if you are making invoices also in other programs for the same business name.

  1. Enable packaging slips, by setting
Spree::PrintInvoice::Config.set(print_buttons: "invoice,packaging_slip")  #comma separated list

Use above feature for your own template if you want. For each button_name, define button_name_print text in your locale.

  1. Set page/document options with
Spree::PrintInvoice::Config.set(prawn_options: { page_layout: :landscape, page_size: "A4", margin: [50, 100, 150, 200] })

Plans

Next receipts and then product related stuff with barcodes.

Contributions welcome

Torsten

About

Completely based on spree_print_invoice

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages