One thing I have done so as not to disturb the main English Language users is to copy the default theme folder and rename it RTL. I have done the changes in the RTL css file ../themes/RTL/default.css. Users will go to preferences and use theme as RTL and Language as Arabic (for example). This how it looks like.

Hi @poncho1234

Thanks again for your efforts.. I could be a very luck guy because just changing (default.css)

table {
    text-align: left;


table {
    text-align: right;

Resolved the Tabs on the top of the screen..with all the locations (sales to the right and setup to the left).. It also aligned the entry and display fields correctly.

I dont know how and why as I have no clue of CSS programming..

As for the logout bar.. I wouldn't worry about it personally.. it looks OK

I would like to ask RTL users to have a go at this and try to test if all OK.

One last thing .. is there a way to increase the font size of the menu items?? In Arabic they are extremely small..

Appreciate you help.


Thanks the only thing I needed to do as you suggested is :

.menu_group_items {
    font-weight: normal;
    text-align: right;

All OK even the icons are on the right (wright) side of the screen. How can we do the same to the Tabs?

Yes.. All tabed  menus that have icons .. other interfaces are OK.. The only thing that comes to mind are the menu items that have Icones are where the problem belongs.

Default Theme
Your guidance will be appreciated.

While implementing Arabic as a user preference language I have noticed that the Menus are LEFT Justified instead of  RIGHT justified as expected in RTL languages..  The menus are very  unpleasant to look at. I as an RTL user would expect the menu  items to be on the right side of the screen as supposed to what is displayed on the left when I choose Arabic for example.. Its also true for Urdu..The same is with the TABS at the top of the screen...

This is not the case when one choose an menu item ( Bank Account Inquiry) for then it is RIGHT justified.

How can I repair this?


(9 replies, posted in Accounts Payable)

@peacecop kalmer

I tried all possible combination and could not reproduce the issue in my installation..unless the item in linked to an Inventory Account.


(9 replies, posted in Accounts Payable)

@peacecop kalmer

Just a note to get the used COA

Banking and General Ledger =>General Ledger Reports =>Chart of Accounts=>Display Chart of Accounts

Display it here if you can.


(9 replies, posted in Accounts Payable)

@peacecop kalmer

You dont need to worry about "C.O.G.S" its your cost account for your GOODS or even SERVICES.. You have a cost for the services your provide..Dont you? This is the account then.. unless you are a non profit organization and the cost of the services are not relevant. What you call it is up to you.

Now I am worried about your COA.. did you change it? What Changes you have done can lead us to a solution.

I know its difficult to remember but you can do it..somehow.


(9 replies, posted in Accounts Payable)


I would ask more experienced guys around the forum to help. What COA you are using and which version of Fa as well..that will be helpful.


(9 replies, posted in Accounts Payable)

@peacecop kalmer

Of course you could have voided the invoice and all should be fine and it is the easy way and the system will take care of the rest.. that is because the invoice is for the wrong customer.

Now we are considering the case that you really wanted to do a Credit Note for a customer where the invoice is right but you want to credit the customer for some other reason.

What I can see is that your Item expenses is pointing to an account code 5200 (which I dont know what) that seems to be not a Service Item but one that is connected to Inventory account (unlike Services).

I suggest that you review that Item in Items and Inventory..and make sure that its not connected to Inventory Account.

I run a services company as well.. did not face this.. I could be wrong.

Tell us what you find. Good Luck


(2 replies, posted in Setup)


The words "Sales Person" that  are shown in reports are found in ../reporting/includes/
You can change it there for the report you need.


(3 replies, posted in Translations)

ar_EG is Arabic. Its completely different from Farsi although they have similar alphabet and they are both RTL (right to left) languages...


Well this is not easy then, I will leave them as they are but make sure the current fiscal year is 2019. You can delete 2018 for sure.. Take a look at this:

Good Luck

Well spotted @poncho1234


setup-->Fiscal Years
You have to add your 2019 dates of your fiscal years.
setup-->Company Setup
Choose the fiscal year of 2019 and hit UPDATE on the bottom of the screen.

Test if it works for your quotation dates..

Give us some feedback


In the Supplier Allocation Inquiry the Due Date is always in the format YYYY-MM-DD no matter  what the user preferences are, unlike the Customer Allocation Inquiry which follow the user preference's choice.

Is there a reason for that?

This issue has been discussed in length in the below thread, go towards the end and you might find your solution. It worked for me as I faced the same problem.


(5 replies, posted in Setup)


You must be missing an index.php inside your module directory. Just a small file with same name with the following code might do it:

header("Location: ../index.php");


(6 replies, posted in Accounts Receivable)

kvvaradha wrote:

Or you can create direct invoice with prepayment term like boxygen told. These two ways are programmed with prepayment invocies

Are you sure you can do that with Direct Invoices? I am not able to do that. The option of Prepayment is not shown when I use Direct invoice.


I found the below in /includes/ around line 333

    htmlspecialchars does not support certain encodings.
    ISO-8859-2 fortunately has the same special characters positions as 
    ISO-8859-1, so fix is easy. If any other unsupported encoding is used,
    add workaround here.
function html_specials_encode($str)
    return htmlspecialchars($str, ENT_QUOTES, $_SESSION['language']->encoding=='iso-8859-2' ?
         'ISO-8859-1' : $_SESSION['language']->encoding);

I replaced iso-8859-2 with iso-8859-6 and now Arabic works OK.

I dont know if this is a workaround or it might have some other consequences..It seems OK to me.

One thing about choosing UTF-8 that works OK with many languages is the PDF files generated when one chooses to use it. An invoice PDF file is 200KB when iso-8859-1 is specified and its 700KB if UTF-8 is used.

Now I have tried to use iso-8859-6 (Arabic) instead but always got a not supported error in the error log although my system locale has iso-8859-6 installed.

this wiki
contains the guidelines for you to achieve what you want.

Basically you need to change the encoding to utf-8 of the English language.
Heres what ../lang/ looks like in my case and it works OK for me.

$installed_languages = array (
  0 => 
  array (
    'code' => 'C',
    'name' => 'English',
    'encoding' => 'utf-8',
  1 => 
  array (
    'name' => 'Arabic',
    'package' => 'ar_EG',
    'code' => 'ar_EG',
    'encoding' => 'utf-8',
    'version' => '2.4.1-3',
    'path' => 'lang/ar_EG',
    'rtl' => true,

$dflt_lang = 'C';

I see them as a customer. Then business as usual . You provide them with a service and you invoice them 10%.

The Opening Balance is not in balance, probably due to a non closed Previous Fiscalyear.
Could that be a reason?