@teaploy/megaprint

Megaprint npm integration

Usage no npm install needed!

<script type="module">
  import teaployMegaprint from 'https://cdn.skypack.dev/@teaploy/megaprint';
</script>

README

Teaploy / Megaprint Integration

Publish

Installation

npm install @teaploy/megaprint --save

Basic Use

Configuration

const { Configuration } = require('@teaploy/megaprint/lib/core');
const { Emitter } = require('.@teaploy/megaprint/lib/core/values');

const emitter = new Emitter(
  'nit',
  'emission name',
  new Address('Zona 4', '0', 'Guatemala', 'Guatemala'),
  'commercial name',
  'email@teaploy.com',
);

const configuration = new Configuration(
  'user',
  'password',
  'environment', // develop|production
  emitter,
);

Generating Invoice

const { Invoice } = require('@teaploy/megaprint/lib/core');
const {
  Receptor,
  Item,
  Address,
} = require('@teaploy/megaprint/lib/core/values');

// Defining invoice
const item = new Item(1, 'UND', 'description', 'B', 112, 0);
const receptor = new Receptor(
  'Abner Tellez',
  'CF',
  new Address('Zona 4', '0', 'Guatemala', 'Guatemala'),
  'email@me.com',
);

const invoice = new Invoice(
  'a860b226-d0ed-11ea-87d0-0242ac130003',
  receptor,
  'GTQ',
  [item, item],
  configuration,
);

(async () => {
  // identifier attribute is gonna be assigned after generating the invoice
  const invoice = await new Invoice(
    'a860b226-d0ed-11ea-87d0-0242ac130003', // uuid
    receptor,
    'GTQ',
    [item, item],
    configuration,
  ).generate();

  // After to create an invoice, we can get the PDF using generatePdf
  const base64Pdf = await invoice.generatePdf();

  // If we need to get a PDF from an invoice already created
  const oldInvoicePdf =  await Invoice.getPdf(configuration, '2D4D922B-7764-4D5D-BDFA-2B0D6967B24E'),
})();

Collaborators