> For the complete documentation index, see [llms.txt](https://docs.xorosoft.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xorosoft.com/xoroerp-1/accounting/xoro-accounting-deep-dive/journal-logic-ar-ap-controls-and-bank-deposit-reconciliation-mechanics.md).

# Journal Logic, AR/AP Controls & Bank Deposit Reconciliation Mechanics

### 1. Overview

This document defines the financial transaction controls and operational accounting workflows governing journal entries, AR/AP handling, vendor and customer payments, deposit processing, and payout reconciliation within Xoro. It establishes structured posting discipline, outlines restrictions around receivables and payables, explains reconciliation mechanisms such as Undeposited Funds and Bank Deposit aggregation, and clarifies how Shopify and external payment processor payouts must be validated. The purpose of this document is to ensure financial traceability, clean ledger activity, controlled adjustments, and accurate reconciliation across ERP-integrated environments.

***

### 2. Functional Workflow

#### 2.1 Journal Entry Module – Core Functionality

**Purpose**

* Journal Entries are used for:
  * Fixing mistakes
  * Adjustments
  * Reversals

**Core Controls**

• Posting Date determines financial period impact\
• Currency selection controls exchange rate visibility\
• Exchange rate can be edited for foreign currency entries\
• Reference Number and Memo provide documentation context\
• “Show Transactions” displays debit/credit impact\
• Journal entries can be duplicated

**Recurring Journal Entries**

* Recurring entries support:
  * Frequency
  * Start date
  * End date
  * Days in advance
* Recurring entries can be:
  * Viewed
  * Edited
  * Manually rerun
  * Deleted

**Control Rules**

• Posting date determines period impact\
• Multi-currency entries must use the same currency across all lines\
• Always verify debit/credit impact using “Show Transactions”\
• Recurring entries are suitable for subscriptions and fixed recurring contracts

***

#### 2.2 Tax Handling – Inclusive vs Exclusive

**Tax Inclusive**

• Entered amount includes tax\
• System splits base amount and tax

**Tax Exclusive**

• Tax is added on top of entered amount\
• Total payable increases

**Control Rule**

• Tax mode selection changes financial calculation behavior

***

#### 2.3 AR/AP Rules & Restrictions in Journal Entries

**Posting Requirements**

• If posting to Accounts Receivable → Customer must be selected\
• If posting to Accounts Payable → Vendor must be selected

**Additional Requirements**

• Store association required

**System Behavior**

* **Debit or credit to AR/AP may create:**
  * Invoice
  * Credit Memo
  * Bill
  * Vendor Credit

**Deposits & Prepayments**

• Customer Deposits and Vendor Prepayments do not appear in JE dropdown\
• Not recommended to post [deposits via Journal Entry](https://app.gitbook.com/o/Io6LXfHxKCbW4ooKqqMR/s/kf8DNCjEfcSm64PCPcmf/~/edit/~/changes/3542/xoroerp-1/accounting/common-issues/correcting-customer-deposit-and-vendor-prepayment-balance-discrepancies-in-xoroerp)

**Control Rules**

• Avoid using Journal Entries for AR/AP unless unavoidable\
• Deposits and prepayments must link to Sales Orders or Purchase Orders\
• If adjustment is required, it must later be reversed\
• Journal Entries do not properly link deposits to specific transactions

***

#### 2.4 Adjusting, Reversing & Home Currency Adjustments

**Adjusting Entry**

• Used to correct past or closed period issues

**Reversing Entry**

• Forward-looking\
• Automatically reverses on selected date

**Home Currency Adjustment**

• Used in multi-currency environments\
• Adjusts home currency value only\
• Foreign currency remains unchanged

**Clarification**

• Adjusting = historical correction\
• Reversing = temporary entry with auto-reversal\
• Home Currency Adjustment resolves exchange variance at fiscal year end

***

#### 2.5 Funds Transfer Module

**Purpose**

• Transfer funds between accounts\
• Example: Bank A → Bank B

{% hint style="info" %}
Use the [Funds Transfer](https://docs.xorosoft.com/xoroerp-1/accounting/transfer-funds/creating-a-transfer-fund) module instead of Journal Entry for account-to-account movements. This ensures a cleaner audit trail and clearer transaction traceability.
{% endhint %}

***

#### 2.6 Account Register – GL Activity & Export Control

**Function**

• Represents full GL activity\
• Official source for account-level review

**Filtering Options**

• Date\
• GL account

**Export Controls**

• Export via Data Export Center\
• Always apply custom date filters before exporting

**Control Rule**

• Failure to apply date filter may export entire database

***

#### 2.7 Bill Payment Process – Vendor Payments

**Purpose**

• Pay posted vendor bills

**System Indicators**

• Green light indicates available credits or prepayments

**Payment Rules**

• Credits can be applied\
• Early payment discounts may be auto-applied via payment terms or manually applied using an expense GL account.

**Grouping Logic**

• Same vendor bills → one payment number\
• Different vendors → separate payments

***

#### 2.8 Check Printing & Print Queue

**Process**

• Pay via Check sends transaction to Print Queue\
• Checks are not printed immediately

**Batch Print Workflow**

• Assign sequence number\
• Confirm\
• Preview\
• Print\
• Mark as Printed

**Control Rule**

• Always mark checks as printed after physical printing

***

#### 2.9 Invoice Payment Process – Customer Payments

**Purpose**

• Record customer payments against AR

**Controls**

• Credits and deposits visible\
• Discounts can be applied\
• Payment must match actual received amount\
• Apply to selected invoices

**Deposit Destination**

* Payment may go to:
  * Bank account
  * Undeposited Funds

***

#### 2.10 Write-Offs, Discounts & Partial Payments

**Underpayment Handling**

* If customer underpays:
  * Leave partially paid
  * Write-off difference to expense GL

**Common Use Case**

• Shopify penny differences

**Control Rule**

• Use correct expense GL for write-offs\
• Avoid leaving small residual balances

***

#### 2.11 Undeposited Funds Workflow

**Purpose**

• Clearing account for collected payments

**Usage**

• Multiple checks collected\
• Later combined into one deposit

**Control Rule**

• Undeposited Funds must be cleared through Bank Deposit

***

#### 2.12 Bank Deposit Module & Combined Deposits

**Function**

• Combine multiple payments into one deposit\
• Print deposit slip

**Control Rule**

• Deposit totals must match bank statement\
• Critical for reconciliation accuracy

***

#### 2.13 Shopify & Payment Processor Payout Handling

**System Behavior**

• Shopify payouts combine multiple transactions\
• Stripe, Authorize.net, Xoro Pay follow similar payout logic

**Deposit Module Role**

• Validate payout\
• Apply processor fees\
• Identify discrepancies

**Control Rule**

• Always validate payout details against Shopify inside Deposit module

***

### 3. Core Governance Principles

• Never use Journal Entry for customer deposits or vendor prepayments unless absolutely necessary\
• Multi-currency Journal Entries must use the same currency on all lines\
• Home Currency Adjustment changes only home currency value\
• Always filter by date before exporting Account Register\
• Vendor grouping determines payment number behavior\
• Underpayments must be written off or left partially paid intentionally\
• Undeposited Funds must be cleared through Bank Deposit\
• Shopify payouts must be validated inside Deposit module

***

### 4. Frequently Asked Questions (FAQs)

Q1. Can we post customer deposits via Journal Entry?\
A: No. Deposits must link to specific sales orders. Journal entries break traceability.

Q2. Why don’t customer deposit accounts appear in JE dropdown?\
A: Because deposits must associate to transactions, not standalone ledger entries.

Q3. What happens if I debit Accounts Payable in JE?\
A: System may create vendor credits or bills depending on direction.

Q4. What is the difference between adjusting and reversing entry?\
A: Adjusting fixes past period. Reversing auto-reverses in future period.

Q5. When should I use Undeposited Funds?\
A: When collecting multiple payments before making a combined bank deposit.

Q6. How do I handle penny differences from Shopify?\
A: Use batch discount or write-off to expense GL.

Q7. Why did system create two payment numbers for bill payment?\
A: Because bills belonged to two different vendors.

Q8. What does green light mean in Bill Payment?\
A: Vendor credit or prepayment available.

Q9. Can I print checks immediately?\
A: No. They go to Print Queue first.

Q10. What is Home Currency Adjustment used for?\
A: To correct exchange rate variance at fiscal year end.

Q11. A customer underpays an invoice by $0.12 from Shopify. What should you do?\
A: Use write-off or batch discount to expense GL.

Q12. You need to transfer funds between two bank accounts. Should you use Journal Entry?\
A: No. Use Funds Transfer module.

Q13. You posted a JE in CAD on first line and USD on second line. What happens?\
A: System requires same currency on all lines.

Q14. You need to fix a mistake in a closed period. What type of entry?\
A: Adjusting entry.

Q15. You want today’s entry to auto-reverse next month. What feature?\
A: Reversing entry with reversal date.

Q16. Why shouldn’t you use JE for vendor prepayments?\
A: It will not tie payment to specific PO and breaks tracking.

Q17. Multiple checks collected in a day — how do you deposit?\
A: Post to Undeposited Funds and use Bank Deposit to combine.

Q18. Where do you validate Shopify payout discrepancies?\
A: Bank Deposit module.

Q19. Vendor bill shows green indicator. What does that mean?\
A: Vendor credit or prepayment available.

Q20. You exported Account Register without date filter. What risk?\
A: Entire database may export instead of selected fiscal period.

***

### 5. Conclusion

Structured control over journal entries, AR/AP restrictions, payment processing, and deposit reconciliation ensures financial accuracy and audit integrity within Xoro. By enforcing disciplined posting behavior, correct payout validation, and clean deposit aggregation, organizations maintain reliable ledgers, accurate reconciliation, and controlled integration between ERP and external commerce platforms.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.xorosoft.com/xoroerp-1/accounting/xoro-accounting-deep-dive/journal-logic-ar-ap-controls-and-bank-deposit-reconciliation-mechanics.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
