accounting-engine
v0.1.9
Published
Bu paket, verilen faturanın, belirtilen kurallar çerçevesinde muhasebeleştirilmesini kolaylaştırmak adına oluşturulmuştur.
Downloads
9
Readme
accounting-engine
Bu paket, verilen faturanın, belirtilen kurallar çerçevesinde muhasebeleştirilmesini kolaylaştırmak adına oluşturulmuştur.
Kurulum
Paketi projenize eklemek için aşağıdaki komutu kullanabilirsiniz:
npm install accounting-engine
Kullanım
const fs = require('fs');
const engine = require('accounting-engine');
// Fatura XML belgesinin içeriğini oku
const xmlData = fs.readFileSync('path/to/your/xml/invoice.xml', 'utf-8');
const config = fs.readFileSync('path/to/your/rules/rules.json', 'utf-8');
// Fatura XML belgesini düzenlenmiş ve küçültülmüş JSON objesine çevirmek için
const accountedInvoice = await engine.normalizeXML(config, data, 'out');
console.log(accountedInvoice);
Örnek Kural Dosyası
{
"variables": {
"kdv_20_tax": "%20.tax",
"kdv_20_taxable": "%20.taxable",
"kdv_10_tax": "%10.tax",
"kdv_10_taxable": "%10.taxable"
},
"rules": [
{
"condition": "invoice.direction === 'out'",
"rules": [
{
"condition": "line.type === 'payable'",
"return": [
{
"borc": "line.amount",
"alacak": 0,
"hesap_kodu": "{{musteri}}"
}
]
},
{
"condition": "line.code === '0015'",
"rules": [
{
"condition": "line.percent === 20",
"rules": [
{
"condition": "line.type === 'tax'",
"return": [
{
"alacak": "line.amount",
"borc": 0,
"hesap_kodu": "{{kdv_20_tax}}"
}
]
},
{
"condition": "line.type === 'taxable'",
"return": [
{
"alacak": "line.amount",
"borc": 0,
"hesap_kodu": "{{kdv_20_taxable}}"
}
]
}
]
},
{
"condition": "line.percent === 10",
"rules": [
{
"condition": "line.type === 'tax'",
"return": [
{
"alacak": "line.amount",
"borc": 0,
"hesap_kodu": "{{kdv_10_tax}}"
}
]
},
{
"condition": "line.type === 'taxable'",
"return": [
{
"alacak": "line.amount",
"borc": 0,
"hesap_kodu": "{{kdv_10_taxable}}"
}
]
}
]
},
{
"condition": "line.percent === 1",
"rules": [
{
"condition": "line.type === 'tax'",
"return": [
{
"alacak": "line.amount",
"borc": 0,
"hesap_kodu": "{{kdv_1_tax}}"
}
]
},
{
"condition": "line.type === 'taxable'",
"return": [
{
"alacak": "line.amount",
"borc": 0,
"hesap_kodu": "{{kdv_1_taxable}}"
}
]
}
]
},
{
"condition": "line.percent === 0",
"return": [
{
"alacak": "line.amount",
"borc": 0,
"hesap_kodu": "{{kdv_0_taxable}}"
}
]
}
]
},
{
"condition": "line.code === '0003' && line.type === 'tax'",
"return": [
{
"borc": "line.amount",
"alacak": 0,
"hesap_kodu": "{{gelir_stopaj}}"
}
]
},
{
"condition": "line.code === '0059' && line.type === 'tax'",
"return": [
{
"alacak": "line.amount",
"borc": 0,
"hesap_kodu": "{{konaklama}}"
}
]
}
]
}
]
}
Lisans
Bu paket MIT lisansı ile lisanslanmıştır. Detaylı bilgi için lisans dosyasını kontrol edebilirsiniz.