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

esr-code-line

v1.0.2

Published

A code line generator for orange payment slips used in Switzerland

Downloads

473

Readme

Code Line Generator for Orange Payment Slips used in Switzerland

This package contains utility functions for generating the code line on the orange payment slips used in Switzerland. The code is shown on the bottom right of the slip inside the white area:

Swiss orange inpayment slip with code line example

| Statements | Branches | Functions | Lines | | --------------------------- | ----------------------- | ------------------------- | -------------------- | | Statements | Branches | Functions | Lines |

Specification

The slip is known under these different names and abbreviations depending on the language:

  • English: Orange inpayment slip with reference number (ISR)
  • German: Oranger Einzahlungsschein mit Referenznummer (ESR)
  • French: Bulletin de versement orange avec numéro de référence (BVR)
  • Italian: Polizza di versamento arancione con numero di riferimento (PVR)

The technical specification is from chapter 5 of the Postfinance manual.

Please note that the QR-Bill replaces this standard (see paymentstandards.ch). Depending on the project it may be viable to skip ahead to this newer one.

Installation

npm install esr-code-line

Usage

The code line consists of information already on the payment slip, except for the slip type:

Code line parameters example

The parameters are:

  • Orange slipType a code defining the type of the slip. E.g. "01" for a ISR in CHF. See section 5.1 of the manual.
  • Red amountFrancsOrEuros the main currency unit in either CHF or EUR.
  • Red amountRappenOrCents the fractional currency unit in Rappen or Cents.
  • Green referenceNumber the reference number with or without spaces.
  • Blue customerNumber the ISR customer number in CHF or EUR. Formatted VV-XXX-C. See section 5.1 of the manual.
const { codeLine } = require("esr-code-line");

const code = codeLine({
  slipType: "01",
  amountFrancsOrEuros: "3949",
  amountRappenOrCents: "75",
  referenceNumber: "12 00000 00000 23447 89432 16899",
  customerNumber: "01-162-8",
}); // returns "0100003949753>120000000000234478943216899+ 010001628>"

The codeLine function does not add check digits to the reference or customer numbers. They can however be added using the attachCheckDigit function included in the module.

const { attachCheckDigit } = require("esr-code-line");

attachCheckDigit("04"); // returns "042"