Skip to content

Accounting Integration

Accounting Integration

Connect OpenEduCat modules with Odoo Accounting for automated invoice generation, payment tracking, and financial reporting.

Time Required: 25-40 minutes for initial setup Module: Account (Odoo Core), OpenEduCat Fees Permissions: Accounting Administrator, System Administrator


Table of Contents

  1. Overview
  2. Prerequisites
  3. Initial Accounting Setup
  4. Chart of Accounts Configuration
  5. Journal Configuration
  6. Product and Fee Account Linking
  7. Fee Invoice Flow
  8. Payment Processing
  9. Bank Reconciliation
  10. Multi-Company Setup
  11. Troubleshooting

Overview

The accounting integration enables:

  • Automated Invoice Generation - Fee plans create invoices automatically
  • Real-time Payment Tracking - Payments update fee status instantly
  • Proper Revenue Recognition - Income recorded when earned
  • Tax Compliance - Automatic tax calculation and reporting
  • Financial Consolidation - Unified view of all financial data

Integration Architecture

OpenEduCat Fees Module
|
v
Fee Plan Created
|
v
Invoice Generated (account.move)
|
+---> Journal Entry Created
| |
| +---> General Ledger Updated
|
v
Payment Registered
|
v
Bank Reconciliation
|
v
Financial Reports

Prerequisites

Before configuring integration:

  • Odoo Accounting module installed
  • Company information configured
  • Fiscal year established
  • Administrator access to both Accounting and OpenEduCat
  • Tax rates defined (if applicable)
  • Bank accounts set up in Odoo

Initial Accounting Setup

Step 1: Configure Company Settings

  1. Go to Settings > General Settings > Companies
  2. Select your institution
  3. Configure financial settings:
FieldDescriptionExample
CurrencyPrimary operating currencyUSD, EUR, INR
Fiscal CountryCountry for tax rulesYour country
Chart TemplateAccounting standardGeneric, country-specific

Step 2: Set Fiscal Year

  1. Go to Accounting > Configuration > Fiscal Years
  2. Create or verify fiscal year:
FieldDescriptionExample
NameFiscal year nameFY 2024-25
Start DateYear begins2024-07-01
End DateYear ends2025-06-30
CompanyInstitutionYour Institution

Step 3: Configure Accounting Settings

  1. Go to Accounting > Configuration > Settings
  2. Configure key options:
SettingRecommendationPurpose
Default Sale TaxSet appropriate taxAuto-apply to invoices
Default Purchase TaxSet appropriate taxAuto-apply to bills
Currency ExchangeEnable if multi-currencyForeign student fees
Analytic AccountingEnableDepartment tracking
Budget ManagementEnableFinancial planning

Chart of Accounts Configuration

Education-Specific Accounts

Create accounts for educational operations:

Revenue Accounts (4xxx)

CodeNameTypePurpose
4001Tuition Fee IncomeIncomeRegular tuition
4002Registration FeesIncomeEnrollment charges
4003Examination FeesIncomeAssessment fees
4004Laboratory FeesIncomeLab course charges
4005Library FeesIncomeLibrary services
4006Activity FeesIncomeExtracurricular
4007Hostel FeesIncomeAccommodation
4008Transport FeesIncomeBus service
4009Late Payment FeesIncomePenalty charges

Receivable Accounts (1xxx)

CodeNameTypePurpose
1200Student Fee ReceivableReceivableOutstanding fees
1210Deferred Admission FeeReceivableAdvance payments

Liability Accounts (2xxx)

CodeNameTypePurpose
2100Deferred Fee RevenueLiabilityAdvance fees received
2110Refundable DepositsLiabilitySecurity deposits

Create New Account

  1. Go to Accounting > Configuration > Chart of Accounts
  2. Click Create
  3. Configure:
FieldDescription
CodeAccount number
NameAccount name
TypeIncome, Expense, Asset, Liability, Equity
Allow ReconciliationEnable for receivables
DeprecatedLeave unchecked

Journal Configuration

Create Fee Income Journal

  1. Go to Accounting > Configuration > Journals
  2. Click Create
  3. Configure:
FieldValuePurpose
NameStudent FeesJournal name
TypeSalesFor customer invoices
Short CodeFEEJournal code
Default Account4001 Tuition Fee IncomeDefault revenue
SequenceFEE/%(year)s/Invoice numbering

Create Payment Journals

Cash Journal

FieldValue
NameCash - Fee Collection
TypeCash
Short CodeCASH

Bank Journal

FieldValue
NameMain Bank Account
TypeBank
Short CodeBNK
Bank AccountLink to bank account

Online Payment Journal

FieldValue
NameOnline Payments
TypeBank
Short CodeONLINE
For Payment GatewayLink to provider

Product and Fee Account Linking

Fee products must link to correct income accounts.

Step 1: Access Fee Products

  1. Go to OpenEduCat > Configuration > Fee Products
  2. Or Invoicing > Products > Products
  3. Filter by category: Fee Products

Step 2: Configure Product Accounts

For each fee product:

FieldConfiguration
Income AccountSelect appropriate revenue account
Expense AccountNot needed for fee products
TaxSet applicable tax (or none)

Example Product Configuration

Tuition Fee Product:

FieldValue
NameTuition Fee
TypeService
Can be SoldYes
Income Account4001 Tuition Fee Income
Customer TaxNone (or applicable tax)

Lab Fee Product:

FieldValue
NameLaboratory Fee
TypeService
Can be SoldYes
Income Account4004 Laboratory Fees
Customer TaxNone (or applicable tax)
  1. Go to OpenEduCat > Fees > Fee Terms
  2. Open fee term
  3. In Fee Elements, link products:
ElementProductAccount (via product)
TuitionTuition Fee4001
Lab FeeLaboratory Fee4004
LibraryLibrary Fee4005

Fee Invoice Flow

Automatic Invoice Generation

When fee plan lines are invoiced:

Fee Plan Line (op.fees.plan.line)
|
| get_invoice() method
v
Invoice Created (account.move)
|
| move_type = 'out_invoice'
| partner_id = student's partner
v
Invoice Lines (account.move.line)
|
| product_id from fee element
| account_id from product
| price_unit from fee amount
v
Journal Entry
|
| Debit: Accounts Receivable
| Credit: Fee Income Account

Invoice States

StateDescriptionNext Action
DraftInvoice createdReview and confirm
PostedInvoice confirmedAwaiting payment
PaidPayment receivedComplete
CancelledInvoice voidedRecreate if needed

Manual Invoice Creation

If needed outside fee plan:

  1. Go to Invoicing > Customers > Invoices
  2. Click Create
  3. Select student as partner
  4. Add fee products as lines
  5. Confirm invoice

Payment Processing

Register Payment from Invoice

  1. Open posted invoice
  2. Click Register Payment
  3. Configure payment:
FieldDescription
JournalCash, Bank, or Online
Payment MethodManual, Check, Transfer
AmountFull or partial
Payment DateDate received
MemoReference number
  1. Click Create Payment

Automatic Reconciliation

When payment is registered:

  • Invoice status updates to Paid (or Partial)
  • Fee plan line paid_amount computed
  • Student fee record updated

Payment Matching

For bank statement imports:

  1. Go to Accounting > Bank > Bank Statements
  2. Import statement
  3. Match payments to invoices:
    • Auto-matching by reference
    • Manual matching for exceptions

Bank Reconciliation

Daily Reconciliation Process

  1. Import Bank Statement

    • Go to Accounting > Bank > Bank Statements
    • Import or manually enter transactions
  2. Match Transactions

    • System suggests matches
    • Review and confirm
    • Handle exceptions manually
  3. Reconcile Outstanding Items

    • Match fee payments to invoices
    • Clear reconciled items

Fee Collection Reconciliation

Bank EntryOdoo Match
Online payment referenceAuto-match to invoice
Bulk depositManual match to multiple invoices
Parent nameMatch by partner search

Multi-Company Setup

For institutions with multiple campuses or entities:

Configure Inter-Company

  1. Go to Settings > Users & Companies > Companies
  2. Create company for each entity
  3. Configure:
FieldDescription
NameCampus/Entity name
CurrencyOperating currency
Parent CompanyIf subsidiary
Chart of AccountsOwn or shared

User Access

  1. Assign users to companies
  2. Set allowed companies per user
  3. Configure default company

Cross-Company Fees

For students enrolled across entities:

  • Invoice created in enrollment company
  • Inter-company transactions if needed
  • Consolidated reporting at parent level

Troubleshooting

Invoice not creating from fee plan

Problem: “Create Invoice” fails.

Solutions:

  1. Verify fee element has product assigned
  2. Check product has income account
  3. Confirm student has partner record
  4. Verify accounting configuration complete

Wrong account on invoice

Problem: Revenue going to wrong account.

Solutions:

  1. Check product income account setting
  2. Verify fee element product link
  3. Update product and regenerate invoice

Payment not updating fee status

Problem: Fee shows unpaid after payment.

Solutions:

  1. Verify payment is posted (not draft)
  2. Check payment linked to correct invoice
  3. Confirm reconciliation complete
  4. Recompute fee plan amounts

Bank statement won’t reconcile

Problem: Transactions not matching.

Solutions:

  1. Check reference numbers match
  2. Verify amounts match exactly
  3. Search by partner name
  4. Create manual match if needed

Multi-currency issues

Problem: Currency conversion errors.

Solutions:

  1. Verify currency rates updated
  2. Check invoice currency setting
  3. Confirm company default currency
  4. Review exchange difference handling

Tax calculation wrong

Problem: Incorrect tax on fee invoice.

Solutions:

  1. Check product tax configuration
  2. Verify customer tax settings
  3. Review fiscal position mapping
  4. Check tax exemption rules

Configuration Checklist

Initial Setup

  • Company settings configured
  • Fiscal year created
  • Accounting settings enabled

Chart of Accounts

  • Revenue accounts for each fee type
  • Receivable account for student fees
  • Deferred revenue account (if applicable)

Journals

  • Fee income journal created
  • Cash collection journal
  • Bank journal linked
  • Online payment journal (if applicable)

Products

  • Fee products created
  • Income accounts linked to products
  • Tax settings configured

Fee Integration

  • Fee elements linked to products
  • Fee terms configured
  • Invoice generation tested

Payments

  • Payment methods configured
  • Bank statement import tested
  • Reconciliation process verified