PDF Documents
Generate PDFs for orders and other documents
Medusa documents is a plugin which provides you ability to generate various documents in PDF format. For supported documents, go to Supported documents
How to install?
- Install plugin by adding to your Copy to clipboard
package.json
:
123..."@rsc-labs/medusa-documents-v2": "0.1.6" // or other available version...
and execute install, e.g. Copy to clipboardyarn install
.
- Add plugin to your Copy to clipboard
medusa-config.js
with the licence key, which you received:
12345678...plugins: [{resolve: "@rsc-labs/medusa-documents-v2",options: {}}]...
- Run migrations, e.g. Copy to clipboard
npx medusa db:migrate
Getting started
After installation of a plugin, you will see new option on the sidebar named Copy to clipboardDocuments
. This will lead you to such view:
NOTE: This README describes Copy to clipboardInvoice
as an example of document.
This is a view of your orders. You can notice that it is very similar to Copy to clipboardOrders
view. The important difference is in the last column, when you can see Copy to clipboardActions
. Copy to clipboardActions
can handle different documents.
Before you can generate Copy to clipboardInvoice
you need to be familiar with two things - Copy to clipboardTemplates
and Copy to clipboardSettings
. Let's go firstly to Copy to clipboardSettings
.
Settings
This tab contains settings which are used to generate documents. The most important setting which needs to be set is address. Address reflects information about your company or store, which will be inserted in documents. Go to Copy to clipboardChange adddress
to set it.
Depends on the used template, you may want to change a logo or adjust invoice number. Let's just jump now to Copy to clipboardTemplates
.
Templates
This tab contains supported templates which are used to generate documents. You may see there very basic templates which will be extended in the future. If you set your Copy to clipboardAddress
correctly and you have at least one Copy to clipboardOrder
, you may see a preview how invoice will look like.
Note: In preview mode, invoice number is set to 1.
Note: If you have picture of template which you would like to have supported, please raise issue.
Supported documents
Name Status Invoice :white_check_mark: Packing slip :white_check_mark:
Generating invoice
If you have your Copy to clipboardTemplate
chosen and Copy to clipboardAddress
set, then you are able to generate invoice. Go to Copy to clipboardOrders
, click on Copy to clipboard...
and choose Copy to clipboardGenerate invoice
. You will see new card opened with your invoice.
Note: We do not store documents, see what it means
After invoice generation, you will see assigned number in the column Copy to clipboardLast generated invoice
. This is useful, if you want to download your invoice again or decide to generate new one.
View invoice
If you forgot download your invoice, you may click on document in Copy to clipboardDocuments
column to see it again.
Invoice number
By default, invoice number is generated based on the last assigned invoice number. In other words - plugin takes the last generated invoice and takes its number to increment it.
We know that your businesss may require different numbering. In such case - go to Copy to clipboardSettings
tab and click Copy to clipboardChange settings
in Copy to clipboardInvoice
. You will see that you can change how your invoice number will look like. For instance, you can make something like Copy to clipboardABC123{invoice_number}
. If your last invoice has base number Copy to clipboard10
, then you will get Copy to clipboardABC12311
as your next invoice number.
Sometimes you may want to set your next invoice number (for instance when you have many different clients). You can do it by setting Copy to clipboardForced number
in Copy to clipboardSettings
. Please remember that this setting will be applied for newly generated invoice and the incrementation will start over from this new number.
Protip: After setting change, you can always go to Copy to clipboardTemplates
to see a preview with your next invoice number.
Translation
You can now configure language for generated documents.
NOTE: We do not support translations of frontend.
You can configure language of documents using Copy to clipboardmedusa-config.js
file. Here is the example of Polish language:
123456{resolve: `@rsc-labs/medusa-documents-v2`,options: {document_language: 'pl'}}
Available translations can be found here: https://github.com/RSC-Labs/medusa-documents/tree/main/v2/src/modules/documents/assets/i18n/locales.
How to add my own translations?
You have two options:
- create Copy to clipboard
translation.json
under Copy to clipboard/assets/i18n/locales/{your-language}
and create a pull requests - we will be more than happy to merge it - create Copy to clipboard
translation.json
only for local purposes. Then you need to go to Copy to clipboardnode_modules/@rsc-labs/medusa-documents/assets/i18n/locales/{your-language}
and paste there your translation file.
Please remember that Copy to clipboarddocumentLanguage
in Copy to clipboardmedusa-config.js
needs to be equal to Copy to clipboard{your-language}
.
Q&A
What means "We do not store documents"?
It is simple - every time when you click Copy to clipboardGenerate invoice
we are taking an Copy to clipboardOrder
and based on that we generate invoice. The same happens with Copy to clipboardView invoice
. It means that if you click generate invoice and your Copy to clipboardOrder
will change (e.g. line items changed, customer address changed etc.), then Copy to clipboardView invoice
will show you the last state of your Copy to clipboardOrder
. We do not remember Order's state.
However, we remember such things like: invoice number, address or logo, so everything which you set in Copy to clipboardSettings
.
Anyway, we encourage you to save your invoice when you generate.
I clicked generate invoice, invoice number has been assigned, but I want to go back to previous number
Now you can do it! Just got to Copy to clipboardSettings
tab and click Copy to clipboardChange settings
in Copy to clipboardInvoice
. Use Copy to clipboardForced number
field to put your next invoice number.
Provided templates are not enough for me, I want more of them, I want customization, I want hide some information etc.
We also see here endless possibilities.. :) Unfortunately, this is a very basic version, but for sure in the future there will be more functionalities.
Proposals, bugs, improvements
If you have an idea, what could be the next highest priority functionality, do not hesistate raise issue here: Github issues
License
MIT
Pro version
The Pro version of medusa-documents expands on the features of the free version with more advanced capabilities such as:
- automatically send invoices to customers
- new premium templates
- additional options for configurations, e.g. setting different addresses for various document type
- and a lot more.
The Pro version is available under commercial licence - contact labs@rsoftcon.com for more information.
Hide Pro version tab
We show what advanced features we offer in "Pro version" tab. We try to keep it non-intruisive, but if you feel it differently, you can always hide this tab by setting following environment variable: Copy to clipboardVITE_MEDUSA_ADMIN_MEDUSA_DOCUMENTS_HIDE_PRO=true
After restarting your admin application, you shall have this tab hidden.
© 2025 RSC https://rsoftcon.com/