151

(20 replies, posted in Reporting)

Box 7 is a big pain indeed to get.

For supplier you can as joe said create a non-vat group (to not get supplier credit not and export) you can create 2 separate VAT group a NOVAT-export and NOVAT-import group.
However be aware that if you pay VAT at the custom, the input imported will appear twice (as FA reconstruct a fake input amount from the VAT amount).

As for 0-Vated transaction entered as normal payment (like post-office or food), the best I found so far is to add '0VAT' in the memo (on the line) and  get the sum with a SQL query.

FA is still not UK VAT friendly at all :-(

Which version of textcart are you using ? The last one needs manually patch some file in FA.

However textcart doesn't allow yet to create customer or new items yet. But it can adjust your stock (once the items have been created).

/Elax

You could have a look at the textcart module, which allows you to create an order, a direct invoice (or anything else in fact)  by copy pasting a text file (in fact, your format should almost work straight away) into FA.

/Elax

You can't do negative payment. Bank deposit is indeed the way to do it.

With this method, you don't need to allocate the payment. You can also do partial payment or even pre-payment.

Hi
I just realize we don't speak of the same FA page.

You are using the 'Bank General Ledger/Payment' page. I'm speaking of the 'Supplier/Payment' page. The difference is, in this page you have to  setup an exchange rate (and allocate the payment at the same time).


bailey86 wrote:

Thanks for the patch.
So, this is how we enter it on FA.

We look up the exchange rate for the payment date - say 0.8.

You either use 0.805
or .80 and set bank charge to 1

We enter that rate in the exchange rate table for the payment date.

Don't need to do that

We create a payment to that supplier for GBP 161.00.

OK so far - the payment of GBP 161.00 will match perfectly on the reconciliation screen.

Now we go to allocate the payment to the original EUR 200.00 invoice.

Don't need to do that, as the payment as already been allocated.

FA uses the payment date rate of 0.8 to figure out that is needs GBP 160.00 to fully pay the invoice.  This leaves GBP 1.00 of the payment as unallocated.

No, FA use the rate you entered when you entered the payment. ie .805 and that leave nothing unallocated.

Then FA will compute the P&L when reevaluating your stock. If this day the exchange rate was 0.75
you got 200 EUR of stock (for 161 GBP), but the value of this stock is 150 GBP (for that day). Therefore you lost £11 on Foreign Exchange P/L. That's done (pretty much) automatically by FA.

/Elax

bailey86 wrote:

Hmmmm....

Just checking here.

I thought the foreign exchange gain/loss occured when the exchange rate on the invoice date is different than the exchange rate on the payment date.

Yes and it's done automatically by FA as long as you enter the exchange rate on the invoice.

What your patch addresses is the fact that the actual rate used by the bank when making the payment is hardly ever an exact match to the rate for that day.

Not at all. My patch only propose a different way to enter the inputs (amount/amount instead of amount/exchange rate) which solve an exchange rate truncation problem. When there is no truncation problem (99.9 % of the time)  the GL entries for FA or my patch are strictly equivalent.

What I'm proposing is that the difference between the amount being allocated (worked out by the daily rate and the actual amount paid in the local currency) and the amount on the invoice should be treated as an over or under payment.

Thanks for your feedback - it's great to get the detail of this sorted out.

Once again, my patch is not about difference between real exchange rate and daily exchange but to solve exchange rate truncation (and also avoid the need of calculating the exchange rate).
What you propose is unnecessary, as you shouldn't care (that much) of the daily exchange rate and  FA  does it already when  you reevaluate your stock. (There is no need to mess around payment for that. It's a stock valuation issue not a payment issue).

/Elax

The problem you are discussing is a general FA problem and using my patch or not doesn't change anything.
The difference between FA and my patch is
- with FA you enter the amount  in GBP and the exchange rate , FA calculates the amount in EUR
- with mine, you enter the amounts in GBP and EUR and FA calculates the exchange rates.

The thing is at that point, you don't care of the rate of the day. What you care is how much would be displayed on your bank statement (that is the amount in GPB : in your case £161) and how much will appears on the supplier statement 200 EUR.

That's it. If you do that everything is fine, you see 161 and your bank statement and when you reconciliate your supplier payment you have an invoice of 200 EUR and a payment of 200.

The fact that the rates can changes the days is at that point irrelevant. When you enter a payment in FA , you enter it with the rate you effectively got for the payment, not an hypothetic rate of the day, that you will never have exactly.

Having said that, we you do a currency reevaluation, FA will compare your rate with the "official" one and put the difference in the Foreign exchange P&L. (and this is the same with my patch or not).

The difference  is with my patch, you enter 161 GBP and 200 EUR and everything work perfectly (you can reconciliate your bank account EXACTLY and allocate you supplier transactions EXACTLY) or you use FA.
For this you need to enter 161 GBP and a rate  which will be 161/200 = 0.805 or the opposite 200/161 = 1.24223602484472
I never know which way it is, and I always get it wrong.
At that point you can get a rounding error and not get exactly 200 EUR.

With my patch you can get rounding error with the exchange rate, luckily FA fix it by balancing the transaction.
Let's say my payments are 10 X and 3 Y. The exchange rate will be 3.3333333333. However, the exchange rate stored in FA will be 3.33333 or something so when converting back the amount in company currency I can have 9.99 instead of 10. FA will work anyway, it's create a supplier payment of 10 (which is what I want) and add a 0.01 of Foreign exchange P&L to balance gl trans of 9.99 (or something like that).

/Elax

Other option is to do a bank transfer from card account to the bank. It gives a bit of extra work while doing the bank reconciliation but makes things more trackable (you are not deleting everything).

Also, when I void the transaction and reenter the payment for the correct account, I sometimes (often in fact) forget to set the original payment date, resulting in having to void this transaction again ....


/Elax

@apmuthu

The problem is there is no 'difference' becauce FA only allow you to enter one amount (and not the real one). Moreover the exchange rate P&L is calculating at currenty reevaluation and it's not here to correct rounding error which are there only because FA doesn't allow you to enter the real amounts.

/Elax

What I do, for under payment, is create £1 discout (either when you enter the payment) or create a credit note for £1 (you'll need a special 'discount' item). That's the cleaner way IMHO.

Other wise, you can create a cash payment of £1 (but you'll need beforehand to 'feed' the cash account with $1 by doing a deposit from whichever  GL account you want to associate this mistake).

The problem with that, is this £1 payment will appears on statement (even though the customer didn't pay it) , which is why, the credit note/discount is easier.

For over payment, you can create a fake invoice (to clear it) or make a cash deposit to this customer (pretending that you gave the cash back to the customer) then allocate this deposit to the initial payment (yes it works !!!). (again you'll need to make a deposit to the cash account against what ever you want so the cash account balances to 0).

However, if your customer is a company, it's better to leave stuff as they are, because if they do their accounting properly they will have also to do the same kind of thing on their side which is a pain for everybody, it's therefore easier to send them a normal statement and pay/receive the difference at some point.

/Elax

I had the same idea, however, I think itronic, is creating an official one. Am I wrong ?

/Elax

There we go

diff --git a/purchasing/supplier_payment.php b/purchasing/supplier_payment.php
index ed8f5a0..6b215e3 100644
--- a/purchasing/supplier_payment.php
+++ b/purchasing/supplier_payment.php
@@ -228,7 +228,11 @@ function handle_add_payment()
        if ($comp_currency != $bank_currency && $bank_currency != $supp_currency)
                $rate = 0;
        else
+       {
                $rate = input_num('_ex_rate');
+               $supplier_amount = input_num('_supp_amount');
+                       if($supplier_amount) $rate = input_num('amount')/$supplier_amount;
+       }

        $payment_id = add_supp_payment($_POST['supplier_id'], $_POST['DatePaid'],
                $_POST['bank_account'], input_num('amount'), input_num('discount'),
@@ -293,7 +297,9 @@ start_form();
        $bank_currency = get_bank_account_currency($_POST['bank_account']);
        if ($bank_currency != $supplier_currency)
        {
-               exchange_rate_display($bank_currency, $supplier_currency, $_POST['DatePaid'], true);
+               //exchange_rate_display($bank_currency, $supplier_currency, $_POST['DatePaid'], true);
+               // my version
+               text_row("Supplier Amount:", '_supp_amount', 0, 8, 8, null, "", $supplier_currency );
        }

        amount_row(_("Bank Charge:"), 'charge');
bailey86 wrote:

Did anyone get to resolve this?

I have, in my patched version. Basically I modified FA so the supplier amount is entered in the supplier currency (and the payment in my currency).I don't need to care about exchange rate, just put the two amounts and it works .

I can send you the patch, alternatively, you can try to convince Joe, that my way is better and include my patch in FA ;-)

/Elax

165

(44 replies, posted in Announcements)

AlastairR wrote:

I've added a project for the module and theme at code.google.com. It's called fa-dashboard-module. I regret it uses SVN for source control as that is what I know best.
A couple of issues identified by Elax have been fixed.
I've added Janusz as a joint project owner. If anyone else would like to be able to commit code changes, let me know and I'll add you.

Hi Alastair

Could you provide a link ? I search for it but couldn't find it.

/Elax

You are right, (it's kind of new, I think it came up with 2.13 or 2.12) and it's really annyoing.

/Elax

167

(44 replies, posted in Announcements)

Hi Alastair

I've modified the executive theme to use your dashboard instead of the original one. I also modified slightly the layout, so I can have wide widgets (1 column per page) and small (2 per page).

If someone is interested I can send the files

/Elax

168

(44 replies, posted in Announcements)

AlastairR wrote:

Hi Elax
The intention of the accordion menu was to reduce the page height and need to scroll to find a menu option. The alternative was a tree structure with a click on the category displaying a list to the right of the options within that category. I was hoping that for most usage the first category's list of items would be the most often clicked but I'm not sure that is true in practice. Perhaps it would be a good idea to make the style of the menu user configurable, and also to make the colours and style editable. You'd have to edit the file default.css in ~/themes/dashboard to change colours at the moment.

I prefer to scroll that to have to click (maybe because I have a big screen and 99% of the time I don't need to scroll at all). But that's my choice. I guess one can easily modify the exclusive theme to add your dashboard

AlastairR wrote:

It should be reasonably easy to add new widgets. All the available ones are in the ~/modules/dashboard/widgets folder with a separate source file for each widget. The file contains a class with functions to render the widget, plus functions to prompt for and validate parameters required just for that widget. The dashboard setup screen calls the function in the selected widget class to dynamically display prompts for that widget.

In the hooks module in ~/modules/dashboard it uses a function added for the dashboard application which adds widgets to the list of available widgets in a similar fashion the add_?app_function adds modules to FA. The add_widget function receives the internal class name for the widget, a description to be displayed in selection lists, the path to the source file and a security code.

Is that possible then,  to add widgets without from on an external module without add it in the ~/modules/dashboard/widget folder ?

AlastairR wrote:

I'm not sure about the git or hg repository. I guess the core developers can choose to include it in the FA source repository if they wish.

If you would like people to help you and contribute to your project instead of doing on your own, you need a "public" repository". I strongly recommand github.
If you are not using a source control version, you should really do.

AlastairR wrote:

There was a dashboard tab in an early iteration because the module adds a new application to FA. It is hidden by the dashboard theme render module (~/themes/dashboard/renderer.php). Originally, only the dashboard tab displayed widgets, but by moving the menu to the side, it made more sense to make every application tab a dashboard and hide the dashboard tab itself. I forgot to hide it from the application list in the dashboard set up form.

I really like the idea of a separate tab call dashboard when I can slow reports. The problem with the widget in application tabs is 90% of the time, when you go on an application tab, is to select  something on the menu, (like sales -> customer payments). You don't really want to wait for the sales reporst to be done, you just want to be able to click to 'customer payments).

AlastairR wrote:

All the widgets are rendered on page load. It seemed too difficult to render on demand, especially in response  to widgets being minimized and maximized. At the moment it does handle a ajax call to save the changed widget settings, but refreshing individual widgets at that time seemed too hard.

Have a look through some of the supplied widgets in ~/modules/dashboard/widgets. The ones I copied from Joe's executive theme use the built-in graphics, but the daily and weekly sales widgets I wanted for my own use, do use Google Chart to display column and line charts.

Ok.

/Elax

169

(44 replies, posted in Announcements)

Well done. I've been using my custom version of the executive (with my own report) but is getting a bit clogged , I have too many report and there are hardcoded in the theme page, which is not ideal.
Doing a Dashboard like this is a great idea.

However, I'm not sure about the theme and  I don't like the accordion : It means clicking twice instead of one (on the executive one). Anyway, I guess that separating widget and theme would allows creating new theme easier.

Anyway, that's really promising. Now I have a couple of question :
- Is it easy to add new widget (is there a doc ?)
- is there a git or hg repository
- There is a dashboard option in the Application tab dropdown , what does that mean ? I was hoping a dedicated dashboard tab but I can't see it ?
- performance wise, is a collapsed rendered on demand or  at page loading ?
- Any plan to use Google chart or something similar ? (Or is the "drawing" still hardcoded in the report itself ?

Once again, I really like it, and I'm quite excited at the idea of rewritting my custom reports as widget. (When I'll have the time ..)

/Elax

The thing is when you enter a PO, you already have chosen the supplier, so it doesn't really make sense to chose the supplier afterward. However you can check the supplier prices with Items/supplier prices, make up your mind and then place the appropriate orders to each supplier.

/Elax

To be able to allocate a payment to a supplier, you need to do this payment using "purchase/payment to supplier" and or "bank & general legder/payment" and select the supplier.
Then you can allocate it using payment to the invoice.

If you haven't done that because it's a private payment, what I do is : I have my personal bank account set a bank account in FA (setup to the appropriate GL account).
If you don't want to add your personnal bank account , use the Cash one ( do the journal entry to feed the cash account, so you can pay the supplier from the cash acconut)

/Elax

If you manage to install and use  the textcart module, you can do that easily. You can basically copy paste any order-like (sales order, purchase order, stock transfers etc ...) into another one , or to excel , modify and reimport it.

/Elax

The stock check sheet report is quite slow and I have some big performance issue over 3000 items, especially if you have manufactured product. The easiest solution (which works for me ) is to split your stock into categories (you'll need over 50 ;-)) if that's applicable.
Otherwise, I ended up tweaking the report to make it faster (it hasn't been pushed to FA because it doesn't work if you have manufactured items).

If you have some programming skills I can help you to speed it up.

/Elax

Thanks

Yes, go to Sales -> manage customer and set the credit limit to 500.
However I'm not sure it really stops any sales.
(However it's dangerous to have that kind of constraints on that system, FA is there to record what you are doing, what if for some reasons the sales append and then you can't add in in FA ?).