npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@rsc-labs/medusa-documents

v0.8.4

Published

Generate documents from Medusa

Downloads

615

Readme

Medusa documents

What is it?

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?

  1. Install the package with yarn add @rsc-labs/medusa-documents or npm i @rsc-labs/medusa-documents.
  2. In medusa-config.js, add the plugin to the plugins array and set enableUI
const plugins = [
  // ... other plugins
  {
    resolve: `@rsc-labs/medusa-documents`,
    options: {
      enableUI: true
    }
  }
]
  1. Run migrations, e.g. npx medusa migrations run (see: https://docs.medusajs.com/development/entities/migrations/overview) as plugin uses new tables.

Getting started

After installation of a plugin, you will see new option on the sidebar named Documents. This will lead you to such view:

NOTE: This README describes Invoice as an example of document.

This is a view of your orders. You can notice that it is very similar to Orders view. The important difference is in the last column, when you can see Actions. Actions can handle different documents.

Before you can generate Invoice you need to be familiar with two things - Templates and Settings. Let's go firstly to Settings.

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 Change 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 Templates.

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 Address correctly and you have at least one Order, 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 Template chosen and Address set, then you are able to generate invoice. Go to Orders, click on ... and choose Generate 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 Last 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 View invoice to regenerate invoice with the same invoice number.

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 Settings tab and click Change settings in Invoice. You will see that you can change how your invoice number will look like. For instance, you can make something like ABC123{invoice_number}. If your last invoice has base number 10, then you will get ABC12311 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 Forced number in Settings. 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 Templates to see a preview with your next invoice number.

Translation

With version 0.8.0 we introduced translations for documents. You can now configure language for generated documents.

NOTE: We do not support (yet) translations of frontend.

You can configure language of documents using medusa-config.js file. Here is the example of Polish language:

const plugins = [
  // ... other plugins
  {
    resolve: `@rsc-labs/medusa-documents`,
    options: {
      enableUI: true,
      documentLanguage: 'pl'
    }
  }
]

Available translations can be found here: https://github.com/RSC-Labs/medusa-documents/tree/main/src/assets/i18n/locales.

How to add my own translations?

You have two options:

  • create translation.json under /assets/i18n/locales/{your-language} and create a pull requests - we will be more than happy to merge it

  • create translation.json only for local purposes. Then you need to go to node_modules/@rsc-labs/medusa-documents/assets/i18n/locales/{your-language} and paste there your translation file.

Please remember that documentLanguage in medusa-config.js needs to be equal to {your-language}.

Q&A

What means "We do not store documents"?

It is simple - every time when you click Generate invoice we are taking an Order and based on that we generate invoice. The same happens with View invoice. It means that if you click generate invoice and your Order will change (e.g. line items changed, customer address changed etc.), then View invoice will show you the last state of your Order. We do not remember Order's state.

However, we remember such things like: invoice number, address or logo, so everything which you set in Settings.

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 Settings tab and click Change settings in Invoice. Use Forced 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 [email protected] 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: MEDUSA_ADMIN_MEDUSA_DOCUMENTS_HIDE_PRO=true

After restarting your admin application, you shall have this tab hidden.


© 2024 RSC https://rsoftcon.com/