copernico
v0.0.12
Published
Invoice calcs internal tool
Downloads
13
Readme
copernico
Internal tool for invoice calcs management
Install
#npm
npm install copernico
#yarn
yarn add copernico
Usage
Create new Invoice
import { Invoice } from "copernico";
const invoice = new Invoice({
date: new Date(),
issueDate: new Date(),
id: "222",
consecutive: "0001",
issuer: {
name: "someone",
address: "somewhere",
},
recipient: {
email: "someone",
},
});
Add items
invoice.addItem({
id: "someid",
merchandiseId: "s233",
merchandiseType: "PRODUCT",
detail: "",
quantity: 1,
mixedMedia: " unidad",
unitPrice: 1000,
tax: {
type: "IVA",
code: "tt",
fee: 13,
},
});
modify items from invoice
// can be string or number
index = itemIndex || merchandiseId
//update line quantity
invoice.updateItemQuantity(2, index)
//update line Discount
invoice.updateItemDiscount(index ,{
value: 300,
type: 'AMOUNT'
})
Add item discount on Item
//By amount
invoice.items[index].discount(300,'AMOUNT')
//By fee
invoice.items[index].discount(10,'FEE')
// 10 -> represents 10%
Change items quantities on item
//By amount
invoice.items[index].updateQuantity(3)
API
Methods
| Function | Detail |
|-----------------------------------|---------------------------------------|
| Invoice.addItem(invoiceItem: InvoiceItem)
| Add new item on list of items |
| Invoice.updateItemQuantity(quantity: number)
| Remove specific item on list of items |
| Invoice.removeItem(quantity : number, itemIndex: string \| number)
| Remove specific item on list of items |
| Invoice.updateItemDiscount(itemIndex: string \ |number, payload: {value: number, type: DiscountType})
| Update item discount by merchandiseId or item index, need the DiscountType
: 'AMOUNT','FEE'
|
| Invoice.updateItemTax(itemIndex: string \ |number, payload: { type: string; fee: number })
| update tax values |
| Invoice.removeItemDiscount(itemIndex: number | string)
| remove discount of specific line |
| Invoice.update()
| Update all values |
| Invoice.update()
| Update all values |
| Item.updateQuantity(value: number)
| update item quantity |
| Item.addTax(taxInfo)
| Add tax data and update line data |
| Item.addDiscount(discountInfo)
| Add discount to a line |
| Item.removeDiscount()
| remove discount to a line |
Objects
Invoice
| Property | Detail |
|-----------------------------------|---------------------------------------|
| id
| Database id |
| consecutive
| number of invoice |
| date
| Date of invoice |
| issueDate
| creation date |
| issuer
| Data of issuer can be any data structure |
| recipient
| Object that represent the recipient |
| items[]
| List of items each one is a InvoiceItem
instance to manage the line data |
| amount
| amount of invoice |
| subtotal
| total before taxes |
| discounts
| total of discounts |
| taxes
| total of taxes |
| total
| total of the invoice |