துறை
இ-தமிழில் நிதியும் கணக்கியலும்
இரட்டைப் பதிவுக் கணக்கியல், CGST/SGST/IGST பிரிப்புடன் GST, மூன்று நிதி அறிக்கைகள், இந்திய ரூபாய் வடிவமைப்பு — அனைத்தும் Rust-இல் அல்ல, இ-தமிழிலேயே எழுதப்பட்டவை.
நிதிச் சொல்லகராதி என்பது மேலே பொருத்தப்பட்ட நூலகம் அல்ல — அது மொழியிலேயே உள்ளது.
வரவு, பற்று, வரி, இருப்புநிலை, பேரேடு, மூலதனம் ஆகியவை லெக்சர் அறிந்த
திறவுச்சொற்கள்.
அவற்றுக்கு மேல் அமைவது — கணக்குப் பட்டியல், பேரேடு, GST, அறிக்கைகள் — இ-தமிழிலேயே
nUlakam/kaNakkiyal/ இல் எழுதப்பட்டுள்ளது. இது வேண்டுமென்றே: கணக்கியல் கட்டமைப்புக்கு
Rust தேவைப்பட்டால், அது இருப்பதற்கான காரணத்துக்கே இந்த DSL போதுமானதாக இருக்காது.
ரூபாய், இந்திய முறையில் பிரிக்கப்பட்டது
இறக்கு "nUlakam/paNam.qmz";
அச்சு ரூபாய்(12345678.5); // ₹1,23,45,678.50
லட்சம் மற்றும் கோடி பிரிப்பு; ஆயிரம் அல்ல. paNam.qmz காசு_வடிவம், காசாக, லட்சம்,
கோடி ஆகியவற்றையும் தருகிறது.
ஒரு GST விலைப்பட்டியல்
GST ஒரே மாநிலத்துக்குள் CGST மற்றும் SGST ஆகவும், மாநிலங்களுக்கு இடையே IGST ஆகவும்
பிரிகிறது. examples/finance/vaNikavari_pattiyal.qmz இலிருந்து முழுப் பிரிப்பு:
// வரி_பிரிப்பு(தொகை, விகிதம், மாநிலம்_ஒன்றா)
செயல் வரி_பிரிப்பு(தொகை, விகிதம், மாநிலம்_ஒன்றா) {
மொத்த_வரி = சதவீதம்(தொகை, விகிதம்);
(மாநிலம்_ஒன்றா) எனில் {
பாதி = வட்டமிடு(மொத்த_வரி / 2, 2);
திரும்பு {மொத்தம்: மொத்த_வரி, cgst: பாதி, sgst: மொத்த_வரி - பாதி, igst: 0};
}
திரும்பு {மொத்தம்: மொத்த_வரி, cgst: 0, sgst: 0, igst: மொத்த_வரி};
}
இரண்டாவது வட்டமிடு அல்ல, sgst: மொத்த_வரி - பாதி என்பதைக் கவனியுங்கள். ஒற்றைப்படை
பைசாக்களை இரண்டாகப் பிரித்து இரு பாதிகளையும் முழுமைப்படுத்தினால் ஒரு பைசா இழக்கப்படும்
அல்லது உருவாக்கப்படும்; மீதியை எடுப்பது அதைச் செய்யாது. கீழே துல்லியமான தசமங்கள் இருப்பதால்,
CGST + SGST அமைப்பாலேயே மொத்தத்துக்குச் சமமாகிறது.
வரிசை உருப்படிகள் பதிவேடுகள்; விலைப்பட்டியல் அவற்றின் அணி:
உருப்படிகள் = [
{விவரம்: "மடிக்கணினி", hsn: "8471", அளவு: 3, விலை: 54999, விகிதம்: 18},
{விவரம்: "விசைப்பலகை", hsn: "8471", அளவு: 10, விலை: 1299, விகிதம்: 18},
{விவரம்: "அச்சுத்தாள்", hsn: "4802", அளவு: 25, விலை: 320, விகிதம்: 12}
];
ஒவ்வொரு உருப்படி இல் உருப்படிகள் {
அடிப்படை = வரிசை_மதிப்பு(உருப்படி);
வரி = வரி_பிரிப்பு(அடிப்படை, உருப்படி.விகிதம், உள்_மாநிலம்);
...
}
இரட்டைப் பதிவுப் பேரேடு
இறக்கு "nUlakam/kaNakkiyal/kaNakkukaL.qmz";
இறக்கு "nUlakam/kaNakkiyal/pErEtu.qmz";
இறக்கு "nUlakam/kaNakkiyal/aRikkYkaL.qmz";
கணக்குகள் = [
மதிப்பு(கணக்கு_ஆக்கு("1000", "வங்கி", வகை_சொத்து(), "நடப்பு")),
மதிப்பு(கணக்கு_ஆக்கு("3000", "மூலதனம்", வகை_பங்கு(), "பங்கு"))
];
பேரேடு = [];
பேரேடு = மதிப்பு(பதிவிடு(பேரேடு, பரிவர்த்தனை_ஆக்கு(
"JV001", "2026-04-01", "தொடக்க மூலதனம்", [
பற்று_வரிசை("1000", 500000),
வரவு_வரிசை("3000", 500000)
])));
இருப்பாய்வு_அச்சிடு(இருப்பாய்வு(பேரேடு, கணக்குகள்));
இதை நான்கு வடிவமைப்பு முடிவுகள் ஒன்றாக நிறுத்துகின்றன:
பேரேடு ஒரு மதிப்பு. பதிவிடுதல் பழையதைத் திருத்தாமல் புதிய பேரேட்டைத் திருப்புகிறது; எனவே ஒரு பதிவைப் பின்னால் மாற்ற முடியாது.
இரட்டைப் பதிவு கட்டாயப்படுத்தப்படுகிறது. இரு பக்கங்களும் ஒத்துப்போகாத பரிவர்த்தனையை
பதிவிடு மறுத்து தவறு திருப்புகிறது. சமநிலையற்ற எதுவும் பேரேட்டை அடைவதில்லை — மேலும்
தோல்வி ஒரு மதிப்பாக இருப்பதால், அழைப்பாளர் அதைக் கையாள வேண்டியிருக்கிறது.
இருப்புகள் கணக்கின் சொந்தத் திசையில் படிக்கப்படுகின்றன. பற்றை விட வரவு அதிகமுள்ள ஒரு
பொறுப்பு நேர்மறை; பற்று அதிகமுள்ள சொத்து நேர்மறையாக இருப்பது போலவே. ஒவ்வொரு அறிக்கையும்
பற்று_இயல்பா ஐச் சார்ந்துள்ளது.
அறிக்கைகள் பேரேட்டிலிருந்து பெறப்படுகின்றன. எதுவும் இருமுறை சேமிக்கப்படுவதில்லை; எனவே ஒரு அறிக்கை அதன் பின்னாலுள்ள பதிவுகளுடன் முரண்பட முடியாது.
இக்கட்டமைப்பு ekmungai/eloquent-ifrs ஐ முன்மாதிரியாகக் கொண்டது; IFRS பாணி வழங்கலுடன்.
தொகுதிகள்
| கோப்பு | உள்ளடக்கம் |
|---|---|
kaNakkukaL.qmz |
கணக்குப் பட்டியல், ஐந்து IFRS வேர்கள், இயல்பு பக்கங்கள் |
kAlam.qmz |
அறிக்கைக் காலங்கள், இந்திய மற்றும் நாட்காட்டி ஆண்டுகள் |
pErEtu.qmz |
பரிவர்த்தனைகள், வரிசை உருப்படிகள், பதிவிடல், இருப்புகள், கால வடிகட்டிகள் |
vari.qmz |
GST மற்றும் ஒவ்வொரு பரிவர்த்தனை வகையும் |
oqukkItu.qmz |
ஒதுக்கீடு, நிலுவைத் தொகைகள், வயதுப் பகுப்பு |
aRikkYkaL.qmz |
இருப்பாய்வு, வருமான அறிக்கை, இருப்புநிலை, கணக்கு அறிக்கை, பணப்புழக்கம் |
niRuvaZam.qmz |
நிறுவனங்கள், நாணயங்கள், மாற்று வேறுபாடுகள் |
mutippu.qmz |
ஆண்டிறுதி முடிப்பு |
கணக்கு வகைகள்
வகை_சொத்து() · வகை_பொறுப்பு() · வகை_பங்கு() · வகை_வருவாய்() · வகை_செலவு()
சொத்துகளும் செலவுகளும் பற்றுப் பக்கத்தில் அதிகரிக்கின்றன; மற்றவை வரவுப் பக்கத்தில்.
பரிவர்த்தனை வகைகள்
| இ-தமிழ் | eloquent-ifrs இணை |
|---|---|
பரிவர்த்தனை_ஆக்கு |
JournalEntry |
விற்பனை_பரிவர்த்தனை |
ClientInvoice |
கொள்முதல்_பரிவர்த்தனை |
SupplierBill |
ரொக்க_விற்பனை |
CashSale |
ரொக்க_கொள்முதல் |
CashPurchase |
பணம்_பெறு |
ClientReceipt |
பணம்_செலுத்து |
SupplierPayment |
வரவு_குறிப்பு |
CreditNote |
பற்று_குறிப்பு |
DebitNote |
எதிர்_பதிவு |
ContraEntry |
நிலையான நூலகத்தின் மீதி
| கோப்பு | உள்ளடக்கம் |
|---|---|
col.qmz |
சரங்கள் — துண்டு தேடு பிரி ஒன்றிணை ஒழுங்கு தொடங்குகிறதா முடிகிறதா |
kaNiqam.qmz |
கணிதம் — முழுமதிப்பு சிறியது பெரியது கூட்டு சராசரி சதவீதம் |
aNi.qmz |
அணிகள் — உள்ளதா இடம்_காண் தலைகீழ் வெட்டு புலம்_எடு காலியா |
paNam.qmz |
பணம் — ரூபாய் காசு_வடிவம் காசாக லட்சம் கோடி |
jEcAZ.qmz |
JSON — ஜேசான்_ஆக்கு ஜேசான்_படி |
மேலுள்ள அனைத்தும் இ-தமிழ் மூலக்குறியீடு. மொழியால் வெளிப்படுத்த முடியாதவற்றை மட்டுமே ஹோஸ்ட் வழங்குகிறது — தசமக் கணிதம், உரை அளவீடு, தேதிகள், கோப்பு மற்றும் சாக்கெட் அணுகல், மேலும் பைட்டுகளும் சமவாய்ப்பும் தேவைப்படும் நான்கு bcrypt/JWT உள்ளமைவுகள்.
எடுத்துக்காட்டுகள்
தொகுப்பிக் களஞ்சியத்திலிருந்து இவற்றை இயக்குங்கள்:
etamil --vm examples/finance/kaNakkiyal.qmz # முழுக் கணக்கியல் சுழற்சி
etamil --vm examples/finance/vaNikavari_pattiyal.qmz # ஒரு GST விலைப்பட்டியல்
etamil --vm examples/finance/campaLam.qmz # ஊதியம்
etamil --vm examples/finance/niluvY_vayaqu.qmz # பெறத்தக்கவற்றின் வயதுப் பகுப்பு
அடுத்து வருவது
கணக்கியல் மற்றும் வரிக் கட்டமைப்பு அடித்தளம்; முடிவுற்ற தொகுப்பு அல்ல. அதே பேரேட்டின் மேல், அதே சொல்லகராதியுடன், மேலும் நான்கு துறைகள் திட்டமிடப்பட்டுள்ளன:
- வங்கி — NEFT மற்றும் UPI கட்டமைப்புகள், RBI இணக்கம், பரிவர்த்தனை வரம்புகள், KYC/AML சோதனைகள்
- காப்பீடு — பாலிசி, பிரீமியம், உரிமைகோரல் அமைப்புகள்; அதே துல்லியமான தசமக் கணிதத்தில்
- சுங்கமும் வர்த்தகமும் — மின்-வழி பில்கள், சுங்கச் சட்டக் குறியீடு சரிபார்ப்பு, வரிக் கணக்கீடு, அறிவிப்புகள்
- பிளாக்செயின் — Hyperledger அடிப்படையிலான தணிக்கைத் தடங்கள்; மொழியை விட்டு வெளியேறாமல் ஒரு பதிவைத் திருத்த முடியாததாக்கலாம்
அவற்றுடன்: ITR மற்றும் TDS வார்ப்புருக்கள், GSTN மற்றும் NPCI தளங்களுக்கான REST இணைப்புகள்.
திட்டமிடப்பட்டவை; கட்டப்பட்டவை அல்ல. இப்பிரிவில் உள்ள அனைத்தும் வடிவமைப்பு. இன்று இருப்பது தொகுப்பியின் மையமும், மேலே விவரிக்கப்பட்ட கணக்கியல் கட்டமைப்பும் மட்டுமே. நிலைப் பக்கம் இரண்டுக்கும் இடையே வசதிவாரியான கோட்டை வைத்திருக்கிறது — மேலும் செயல்படுத்தப்படாத எதுவும் அமைதியாக ஏதோ ஒன்றைச் செய்யாமல், தெளிவான பிழைச் செய்தியுடன் நிற்கிறது.