0.1.6 • Published 3 months ago

accounting-engine v0.1.6

Weekly downloads
-
License
ISC
Repository
github
Last release
3 months ago

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.

0.1.6

3 months ago

0.1.5

3 months ago

0.1.4

3 months ago

0.1.3

3 months ago

0.1.2

3 months ago

0.1.1

3 months ago

0.1.0

3 months ago