Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

132 Commits
132 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FinTx Accounting Project

Maven Central GitHub release Apache 2 Join the chat at https://gitter.im/fintx/fintx-accounting Coverage Status Dependency Status

FinTx[1]

What's is FinTx?

FinTx is an open source group focus on financial technologies.

What's is fintx-accounting

fintx-accounting is general accounting project for all fintx projects. It supports:

  • Double entry accounting/booking;
  • Single entry accounting/booking;
  • Account operation/control;
  • 24*7 working;
  • multi time zone region;

Using

This is something that you get for free just by adding the following dependency inside your project:

<dependency>
    <groupId>org.fintx</groupId>
    <artifactId>fintx-accounting</artifactId>
    <version>${latest.version></version>
</dependency>

Example

        String codeOfAccounts = "11223344";
        String organizationNo = "010101";
        String productNo = "010101";
        String customerNo = "120222";
        String accountNo2 = "1122334455667777";
        String accountNo3 = "1122334455667788";
        
        // build and persist accountNo
        AccountNoSection.Builder accountNoSectionBuilder = AccountNoSection.builder();
        accountNoSectionBuilder.codeOfAccounts(codeOfAccounts);
        accountNoSectionBuilder.organizationNo(organizationNo);
        accountNoSectionBuilder.productNo(productNo);
        accountNoSectionBuilder.customerNo(customerNo);
        // ...
        AccountNoSection acocuntNoSection = accountNoSectionBuilder.build();
        String accountNo1 = accountNoService.createAccountNo(acocuntNoSection);
        //
        accountNo1 = accountNoService.getAccountNo(acocuntNoSection);

        // Open account
        Operation.Builder operationBuilder = Operation.builder();
        operationBuilder.openCustomer(codeOfAccounts, accountNo1, organizationNo, productNo, customerNo);
        // ...
        Operation operation = operationBuilder.build();
        detailLedgerService.post(operation);
        

        // build voucher
        Voucher.Builder voucherBuilder = Voucher.builder();
        // ...
        Voucher voucher = voucherBuilder.build();

        // post transaction for associated voucher
        
        Transaction.Builder transactionBuilder = Transaction.builder();
        transactionBuilder.associate(voucher);
        transactionBuilder.credit(codeOfAccounts, accountNo1, new BigDecimal("100.00"));
        transactionBuilder.debit(codeOfAccounts, accountNo2, new BigDecimal("50.00"));
        transactionBuilder.debit(codeOfAccounts, accountNo3, new BigDecimal("50.00"));
        Transaction transaction = transactionBuilder.build();
        detailLedgerService.post(transaction);

        // audit transaction
        TransactionFlag[] transflags = { TransactionFlag.RECORD };
        TransactionSymbol[] transSymbols = { TransactionSymbol.CREDIT };
        List<TransactionEntry> transactionEntries =
                detailLedgerService.auditTransaction(codeOfAccounts, accountNo1, LocalDate.now(), transflags, transSymbols, voucher.getBusinessId());

        // operate account
        operationBuilder = Operation.builder();
        operationBuilder.freeze(codeOfAccounts, accountNo1, new BigDecimal("50.00"));
        operationBuilder.lock(codeOfAccounts, accountNo1, voucher.getBusinessId());
        // ...
        operation = operationBuilder.build();
        detailLedgerService.post(operation);

        // audit operation
        OperationSymbol[] operSymbols= {OperationSymbol.OPEN,OperationSymbol.CLOSE};
        List<OperationEntry> operationEntries = detailLedgerService.auditOperation(codeOfAccounts, accountNo3, LocalDate.now(),operSymbols, voucher.getBusinessId());

      

[1] FinTx https://www.fintx.org/
[2] Maven https://maven.apache.org/

About

Enterprise level accounting and account operation project for financial area. Supports: Double entry accounting; Single entry accounting; Account operation.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.