# export-comptable

> A simple template of accounting summary

Latest version **1.3.1** (published 2016-12-13) · ISC license · 0 weekly downloads

## Install

```sh
npm install export-comptable
pnpm add export-comptable
yarn add export-comptable
bun add export-comptable
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.3.1 |
| Published | 2016-12-13 |
| First published | 2016-11-17 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | phyras |

## Links

- npm: https://www.npmjs.com/package/export-comptable
- npm.io page: https://npm.io/package/export-comptable

## Dependencies (1)

- [excel4node](https://npm.io/package/excel4node.md) ^1.2.1

## Recent versions

- 1.3.1 (latest) — 2016-12-13
- 1.3.0 — 2016-12-13
- 1.2.0 — 2016-12-02
- 1.1.7 — 2016-11-29
- 1.0.7 — 2016-11-25
- 1.0.6 — 2016-11-25
- 1.0.5 — 2016-11-25
- 1.0.4 — 2016-11-25
- 1.0.3 — 2016-11-17
- 1.0.2 — 2016-11-17
- 1.0.1 — 2016-11-17
- 1.0.0 — 2016-11-17

## README

# export-comptable
This is an excel template of data build on top of [excel4node](https://www.npmjs.com/package/excel4node)

It's meant to generate xlsx file from Json

### Setup

```
npm install export-comptable
```
test :
```
npm run test
```
### Get started

workbook.write();
The write() method can accept a single filename, or an HTTP response object.


```javascript
const exportComptable = require('export-comptable');

const workbook = exportComptable(data); //See data schema below

workbook.write('./ExcelFile.xlsx'); //To write in a file.

//Or to write in a HTTP response object
var express = require('express');
var app = express();
app.get('/', function (req, res) {
    workbook.write('ExcelFile.xlsx', res);
});
app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

```
workbook.writeToBuffer();   
The writeToBuffer() returns a promise that resolves with the node buffer.

```javascript

workbook.writeToBuffer().then(function (buffer) {
	// Do something with buffer
});
```



### Data schema

```javascript
const data = {
  startDate : "dd/mm/yyyy hh:mm",  //String
  endDate : "dd/mm/yyyy hh:mm",  //String
  clientName : "Nom du Client",   //String
  all : {
    HTRevenue : 0,                //Number
    TTCRevenue : 0,               //Number
    packageServiceHTRevenue : 0,  //Number (Revenue package + Service)
    technicHTRevenue : 0,         //Number (percent of package + Service)
    resaleHTRevenue : 0,          //Number
    VATTotal : 0,                 //Number
    packageServiceTTCRevenue : 0, //Number
    technicTTCRevenue : 0,        //Number
    resaleTTCRevenue : 0,         //Number
    averageHTCart : 0,            //Number
    averageTTCCart : 0,           //Number
    averageResaleTTCCart : 0,     //Number
    bankedTickets : 0,            //Number
    refundedTickets : 0,          //Number
    discountAmount : 0,           //Number
    soldServicesPackage : 0,      //Number
    soldProducts : 0,             //Number
  },
  payments : {
    creditCard : {amount : 0, number : 0},  //Both Number
    cash : {amount : 0, number : 0},        //Number
    check : {amount : 0, number : 0},       //Number
    giftCard : {amount : 0, number : 0},    //Number
    others : {amount : 0, number : 0},      //Number
    total : {amount : 0, number : 0},       //Number
  },
  details :{
    services :[
      {
        name : "Barbe", //String
        sold : 3,       //Number
        CAHT : 24,      //Number
        VAT : 6,        //Number
        CATTC : 30      //Number
      }],
    resales : [
      {
        name : "accessoires", //String
        sold : 4,             //Number
        CAHT : 32,            //Number
        VAT : 8,              //Number
        CATTC : 40            //Number
      }]
  },
  tickets :[{
    id: 0,                      //String
    date : "dd/mm/yyyy hh:mm",  //String
    totalTTC : 0,               //Number
    payment : 'Carte Bleue',    //String (Carte Bleue, Espèces, Chèque, Carte cadeau, Autres)
    clientName : "Jean-piétro", //String
    state : "Remboursé"         //String (Confirmé, Annulé, Remboursé)
  }],
  closures :[{
    openDate : "dd/mm/yyyy hh:mm",  //String
    closeDate : "dd/mm/yyyy hh:mm", //String
    amount : 0                      //Number
  }],
  collaborators :[{
    name:"Nom du collab1",  //String
    tickets : 0,            //Number
    serviceHTRevenue : 0,   //Number
    technicHTRevnue : 0,    //Number
    resaleHTRevenue : 0,    //Number
    totalTVA : 0,           //Number
    totalTTC : 0,           //Number
  }],
  cash:[{
    date: "dd/mm/yyyy hh:mm",         //String
    reason : "to conquer the world",  //String
    amount : 6.66,                    //Number
  }]
}
```

### updating 1.2 -> 1.3

```

  data : {
    ...
    cash : [{                           //added
      date: "dd/mm/yyyy hh:mm",         //String
      reason : "to conquer the world",  //String
      amount : 6.66,                    //Number
    }]
  }
```

---
_Source: https://npm.io/package/export-comptable · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
