october 2008 - archive
TRANSCRIPT
Page 1 of 46
Expert on Phone Newsletter October 2008
Popular Links
Service Market Place
From the Service Market
Place Link to get to:
Documentation Resource
Centre Go to:
Support Online
Support - Documentation
Resource Centre Data
Transfer Workbench
(DTW) Landing page
From the Documentation
Resource centre, expand
the required version e.g.
SAP Business One 2007 ->
Data Transfer Workbench
Product Enhancement
Solutions go to:
A-Z Index - Product
Enhancement Solutions
Self Help go to:
Support Self Help
Application
Archive: Expert
Empowerment Sessions
Reconciliation Engine in
2007
Notes
ISV solution
Welcome to the October edition of the “Expert on Phone Newsletter”.
This month's events around the world have been unprecedented. We hope that
we can momentarily help you forget them with this newsletter.
The EoP team have noticed a marked increase in finance related consulting questions
in October, which is reflected in our topics for this month. In this issue you will find
information about reconciling down payments & reconciliation upgrade journals due
to exchange rates, we describe how the application calculates Realised/Unrealised
Exchange rates, where to define formats for imported bank statements & what date
to use in the MRP calculation. Also, we illustrate how to delete unwanted currencies
and print both BP catalogue and Item Code numbers using PLD. Have you ever
wondered what a ‘Transaction Type’ number is & what document it relates to? Then
please read on.
Should you have any comments/feedback please send to [email protected].
Index
How to reconcile a down payment request?
How to delete currencies?
How does SAP Business One deal with Realised and Unrealised Exchange Rate
Differences?
What is the date used in MRP to calculate the requirements?
Where is the format of the bank statement to be imported, using the payment
engine add-on, defined?
How to print both BP catalogue and Item code?
How to deal with reconciliation upgrade journals of the inconsistency type ‘Partial Exchange Rates Differences Recognition’?
How to identify items which have no item cost?
What are the ‘Transaction Type’ numbers?
Why does SAP Business One display a system message alerting the user that a
cash account is required when making a payment?
Please note that we will endeavour to keep this document up to date, but for the most current information please refer to the individual wiki articles.
Page 2 of 46
How to reconcile a down payment request?
Down Payment Request in version 2007 Online Help
In case of the ‘Down Payment Request’, the payment can only be made in the Incoming/Outgoing Payment window.
The ‘Down Payment Request’ cannot be reconciled with an invoice using the reconciliation functionality.
In the incoming/outgoing payment, if the total of the ‘Down Payment Request’ fully matches the total of the invoice
it is not possible to add the payment. In this scenario the error message ‘Confirmation amount must be greater than
zero’ will be displayed and it will not be possible to reconcile them. SAP Business One does not expect a down
payment to cover 100%f the ensuing invoice, the ‘Reserve Invoice’ functionality is designed for this scenario. It is
standard system behaviour that a payment cannot be added with a zero value.
The workaround is therefore to reconcile the ‘Down Payment Request’ with the relevant Invoice when paying
another invoice. For example, in the above screenshot down payment request number 6 cannot be reconciled with
invoice number 64. However, if invoice number 34 is paid at the same time as down payment request number 6 and
invoice number 64 then the incoming payment will add. In this case the reconciliation is possible because the total
paid in the incoming payment is greater than zero.
Page 3 of 46
Index
Page 4 of 46
How to delete currencies?
Note: 1064836
In some countries the best practice is to use the currency symbol instead of the international currency code.
In SAP Business One currencies are defined under Administration -> Setup -> Financials -> Currencies. Once a
currency code is saved or comes predefined, it is not possible to change it. It is however possible to remove the entire
row of an already defined currency, as long as this currency has not been involved in any transaction or is defined as
local currency, system currency, account or business partner currency or in a price list.
To remove a currency from SAP Business One, follow the steps below:
Go to Administration -> Setup -> Financials -> Currencies. Right-click on the row containing the currency to be
removed & select ‘Remove’.
Click on ’Yes’ in the system message window:
Page 5 of 46
The currency has now been removed successfully:
To replace the previously removed ‘EUR’ currency, a new currency showing the currency symbol in the ‘Code’ field
can be defined:
The symbol then replaces the international currency code in documents:
Page 6 of 46
If the currency is already selected in some setup it will not be possible to remove it. The user will receive the
following error message:
During the initial set-up or implementation phase of SAP Business One it is possible to change currencies & currency
settings. For example, there are no transactions in the database & both local & system currency may still be
changed:
Page 7 of 46
If local and system currencies are greyed out this means that there are already transactions in the database.
It is not possible to change the setup since there are already transactions in the database. It is however possible to
use the workaround from our February Newsletter to solve the issue in the print layout designer (How can the $ sign
be displayed instead of the currency code, USD?). Index
Index
Page 8 of 46
How does SAP Business One deal with Realised and Unrealised Exchange Rate Differences?
When trading with foreign currency (FC) business partners (BP), it is inevitable that fluctuations in the global currency
market affect a company’s accounts. An invoice issued some weeks ago in a definitive amount of FC had at that point
in time a definite value in local currency (LC) according to the exchange rate of the posting date. This invoice still has
the FC value when payment is received, yet the LC value of this payment may not be the very same as it was when
the invoice was issued due to a change in the exchange rate.
Realised exchange rate differences are the exact delta amounts between the values in LC of FC invoice & payment.
SAP Business One will post these differences in most cases automatically.
Unrealised exchange rate differences refer to the delta amount in LC of an unpaid FC invoice at a precise point in
time, generally at month-end or year-end closing reporting. These unrealised exchange rate differences are usually
reversed at the first day of the new period.
When executing the ‘Exchange Rates Differences’ functionality under ‘Financials’, SAP Business One calculates
exchange rates differences postings & proposes to save these journals to the permanent file. The company
accountant then verifies the values, manually approves them & then executes the postings.
For illustration purposes, a UK localisation database is used here, SAP Business One 2007 A pl42. The exchange rate
differences posting method is ‘Indirect’ (1 unit of FC = x units of LC, where ‘x’ is calculated according to the rate
defined under Administration -> Exchange rates). LC & system currency (SC) is GBP & FC in the example is EUR.
The following scenarios will be explained:
1.) FC invoice fully paid, exchange rate differs between posting dates of invoice & payment. 2.) FC invoice not paid at month-end. 3.) FC invoice partially paid, exchange rate differs between posting dates of invoice & partial payment &
execution date of month-end closing. 4.) FC invoice to be paid in instalments, exchange rate differs between posting dates of invoice & instalment
payment & execution date of month-end closing.
The exchange rate differences accounts for automatic & semiautomatic postings in SAP Business One are defined
under Administration -> Setup -> Financials -> GL account Determination -> All Tabs, example ‘Sales’:
Page 9 of 46
The exchange rates (Administration -> Exchange Rates & Indexes) are defined as follows:
Page 10 of 46
1.) FC invoice fully paid, exchange rate differs between posting dates of invoice & payment.
Consider this AR invoice for an FC BP:
& the associated journal entry (JE):
Page 11 of 46
According to the exchange rate on the posting date (EUR 1 = GBP 1.21), the calculation is as follows:
Document Posting Date Rate Debit/Credit
FC
Debit/Credit
LC
Delta
AR invoice
106
20.10.2008 1.21 1000.00 826.45 -
Full payment of this invoice on 24.10.2008 (Exchange Rate: EUR 1 = GBP1.25) results in this journal:
SAP Business One will automatically post the LC loss due to the exchange rate difference into the appropriate account
(see above for GL account determination). The delta is calculated as follows:
Document Posting Date Rate Debit/Credit
FC
Debit/Credit
LC
Delta
AR invoice
106
20.10.2008 1.21 1000.00 826.45 -
Incoming
payment 41
24.10.2008 1.25 1000.00 800.00 800-826.45 =
Loss 26.45
2.) FC invoice not paid at month-end
In order to report accurately on monies owed to our company at the end of an accounting period, unpaid FC invoices
must be valued according to the rate on the execution day, here 31.10.2008. Our company’s books must reflect that
this FC BP owes us a definite amount of LC. SAP Business One therefore allows semiautomatic postings of exchange
rate differences in open documents. Using the same AR invoice as above, in this example it remains unpaid on the
execution day. Therefore the proposed exchange rates differences posting is as follows:
Page 12 of 46
Page 13 of 46
The calculation is as follows:
Document Posting Date Rate Debit/Credit
FC
Debit/Credit
LC
Delta
AR invoice
106
20.10.2008 1.21 1000.00 826.45 -
AR invoice
106 open
value
31.10.2008 1.26 1000.00 793.65 793.65-
826.45 = Loss
32.80
Hence, on 31.10.2008 the BP does not owe our company GBP 826.45, but according to the exchange rate GBP
793.65. This reduces the expected amount to be paid to our company by GBP 32.80 on 31.10.2008.
Naturally, this unrealised exchange rate difference must be reversed on the next day, the first day of the new
accounting period, since we expect to be paid in full for this invoice at a future date, where the exchange rates
differences posting will take place automatically with the incoming payment as illustrated above in Scenario 1.
3.) FC invoice partially paid, exchange rate differs between posting dates of invoice & partial payment & execution
date of month-end closing.
It happens frequently that although no payments by instalments had been previously agreed, a customer makes
several payments against an invoice. In the case of an FC BP this naturally affects our company’s revenue with respect
to the exact amounts in LC we gain from the transaction.
Considering the AR invoice 106 from above & applying a partial payment of EUR 500.00 on 24.10.2008 (Exchange
Rate: EUR 1 = GBP1.25), the associated journal entry will show the following:
Page 14 of 46
The calculation is as follows:
Document Posting Date Rate Debit/Credit
FC
Debit/Credit
LC
Delta
AR invoice
106
20.10.2008 1.21 1000.00 826.45 -
Incoming
Payment 42
24.10.2005 1.25 500.00 400.00 400.00 –
413.22* =
Loss 13.22
*1000 FC = 826.446281 LC at a rate of 1.21, therefore 500 FC = 826.446281 LC/2 = 413.223141. This is rounded to
413.22. Hence 413.22 LC would be the expected amount in LC for a payment of 500 FC according to the exchange
rate in the invoice.
Should this invoice remain open at month end, using these selection criteria, the proposed exchange rates
differences posting will be:
Page 15 of 46
The calculation is as follows:
Document Posting Date Rate Debit/Credit
FC
Debit/Credit
LC
Delta
AR invoice
106
20.10.2008 1.21 1000.00 826.45 -
Incoming
Payment 42
24.10.2008 1.25 500.00 400.00 400.00 –
413.22 = Loss
13.22
Month-end 31.10.2008 1.26 500.00 396.83 396.83-
413.22 = Loss
16.40
Page 16 of 46
4.) FC invoice to be paid in instalments, exchange rate differs between posting dates of invoice & instalment payment
& execution date of month-end closing.
Invoices that are to be paid in instalments have a fundamentally different journal posting reflecting the expected
payments. Consider this invoice & the associated JE:
Page 17 of 46
This invoice is to be paid in 4 instalments of equal value, each expected payment is kept in a separate row in the JE.
The first payment is due on 21.10.2008, where the exchange rate is defined to be 1.24. Therefore, the JE of the
incoming payment at that date will reflect the following:
The exchange rate differences calculation is as follows:
Document Posting Date Rate Debit/Credit
FC
Debit/Credit
LC
Delta
AR invoice
107
20.10.2008 1.21 250.00 206.61 -
Incoming
Payment 44
21.10.2008 1.24 250.00 201.61 201.61 –
206.61 = Loss
5.00
Page 18 of 46
The second payment on 30.10.2008 with a rate of 1.22 is calculated as follows:
Document Posting Date Rate Debit/Credit
FC
Debit/Credit
LC
Delta
AR invoice
107
20.10.2008 1.21 250.000 206.61 -
Incoming
Payment 45
30.10.2008 1.22 250.00 204.92 204.92 –
206.61 = Loss
1.69
On 31.10.2008 the outstanding amount of invoice 107 is hence EUR 500.00. According to the rate of 1.26, the
customer owes our company at that precise point in time EUR 500.00 which translates into an amount of GBP 396.83.
To summarise:
Document Posting Date Rate Debit/Credit
FC
Debit/Credit
LC
Delta
AR invoice
107
20.10.2008 1.21 1000.00 826.45 -
Incoming
Payment 44
21.10.2008 1.24 250.00 201.61 - 5.00
Incoming
Payment 45
30.10.2008 1.22 250.00 204.92 - 1.69
Month end 31.10.2008 1.26 500.00 396.83 396.83-
413.22 = Loss
16.40
The initial expectation of revenue for this particular invoice in LC was GBP 826.45. The realized exchange rate
differences that were generated with the incoming payments indicate that the actual revenue in LC was GBP6.69
(5.00+1.69) less than initially expected.
The remaining amount of EUR 500.00 had been valued at GBP 413.23 when the invoice had been posted. According
to the exchange rate defined for the month-end execution day, 1.26, this expectation needs to be reduced by GBP
16.40.
Page 19 of 46
Naturally, the exchange rates differences journal created upon month-end will be reversed at the first day of the new
period, such that the actual exchange rate difference is posted correctly when the next instalment is rendered by the
customer.
Please note that regarding payments by instalments in SAP Business One 2005 A SP 01 the system behaviour was the
same as in version 2007, but due to the duality of the separate reconciliation engine, no exchange rates differences
posting took place when partial payments were rendered. In this scenario the ‘Exchange Rate Differences’ must be
executed to calculate the exchange rate difference for this invoice. This posting, of course, should not be reversed.
More information about Exchange Rate & Conversion Differences can be found in the following Expert Empowerment
Sessions:
1. Exchange Rate Differences (Exchange Rate Differences/Conversion Differences in 2004A/2005A & 2005A SP01 – SAP Note 941059).
2. Exchange Rate (Exchange Rates when copying base to target documents in SAP Business One 2005 SP01). 3. Tips & Tricks for Year End Closing. 4. FC & SC are the same – why don’t they match? (System Currency & Foreign Currency are the same – why
don’t they match?).
Index
Page 20 of 46
What is the date used by MRP to calculate the requirements?
Document: How to Configure and Use MRP -
In a Sales or Production Order the ‘Delivery Date’ or ‘Document Date’ indicates the specific date at which the item
needs to be in the warehouse in order to deliver it or facilitate production of a parent item.
When calculating the recommendation date for ordering this item, the delivery date from these documents is the
date which is taken into consideration by the Material Resource Planning (MRP) calculation.
In the following example:
The current system date is 14 October 2008.
The item has a lead time of two days.
The delivery date in the Sales Order is the 18 October 2008 which is four days from today’s date.
Page 21 of 46
The MRP Wizard is run for 7 days from 14.10.2008 to 20.10.2008 and considers the holiday table for ‘Purchase Planning’.
MRP Results
The ‘MRP Results’ displays the ’Release Date’ of the 16 October 2008 for this item. This ‘Release Date’ indicates the
last date by which the ‘Purchase Order’ must be added in order to meet the ‘Delivery Date’ defined in the Sales
Order. The ‘Release Date’ is dependent on the lead time. Consequently, in this example the ‘Release Date’ is the
16.10.08 because our lead time is 2 days and the ‘Delivery Date’ is the 18.10.08.
The ‘Due Date’ displays the suggested ‘Due Date’ for the production orders or ‘Delivery Date’ for the purchase orders.
If the recommended order is past due, according to the items' lead time, the due date appears in red.
Index
Page 22 of 46
Where is the format of the bank statement to be imported, using the payment engine add-on, defined?
SAP Business One allows import of electronic bank statements using either the SAP add-on 'Payment Engine' which includes the
'Cash & Bank' functionality or the in version 2007 newly introduced Bank Statement Processing (BSP) functionality which utilises the
BTHF add-on.
This article deals solely with the settings when the payment engine add-on including cash & bank is used. It is not relevant for
companies that use BSP.
When initiating the payment engine add-on, plug-in files are installed. The standard path is C:\Program
Files\SAP\SAP Business One\AddOns\sap\Payment:
These plug-ins determine the format of the outgoing data files & also the format of a bank statement that is imported
into SAP Business One.
- The file formats for outgoing bank files are defined in the payment methods (Administration -> Setup -> Banking ->
Payment Methods).
- The file format for incoming bank files, the electronic bank statements is defined within a User-Defined Field (UDF)
in the Chart of Accounts (CoA) window.
The example below utilises a UK database with a standard CoA. The UDF can be made visible by clicking on ‘View’ in
the strip menu & selecting ‘User-defined Field’ or by pressing Ctrl+Shift+U while the CoA window is open & active.
The udfs must be populated with the appropriate data:
Page 23 of 46
The ‘Type Import File’ must be chosen from the list of available plug-ins:
SAP Business One now allows the import of bank statements in the ‘APACS’ format for GL account 161012 using the
payment engine add-on.
Index
Index
Page 24 of 46
How to print both BP catalogue and Item code?
Note: 1059015
It may be necessary to display both item code and Business Partners (BP) catalogue number as defined in either the
suppliers’ or the company’s product catalogue. When both are displayed it makes it easier for both the
supplier/customer and the company to instantly recognise the product they have purchased or sold.
The BP Catalogue Number can be displayed in the marketing document in two different ways:
1. When the document is open, go to Tools-> Form Settings -> Document tab -> General tab -> select ‘Display BP Catalogue Number’.
2. When defining the BP Catalogue Number (Stock Management -> Item Management –> BP Catalogue Numbers) on the BP tab the option ‘Use BP Catalogue Numbers in Documents’ can be selected for the specific BP. When selected here, the BP catalogue number will always be displayed for that BP.
However, in SAP Business One it is not possible to display both the ‘BP Catalogue Number’ and the ‘Item Code’ at the
same time in the marketing document and in its print out.
In order to display them both in the marketing document and its print-out, modification of the printing template and
the marketing document is required.
Scenario 1: BP Catalogue No. is required in the Print Layout Design (PLD) Template only.
The PLD template can be modified to call the ‘ItemCode’ from the ‘OITM’ table.
Process
In the template, create a database field in the repetitive area0.
In the ‘Table’ field select ‘OITM – Items’ (Items table). In the column field select ‘Item No.’ The system automatically makes the link between OITM and the table
row table XXX1.
Page 25 of 46
Note:
If the ’Item No.’ is called from the document table it will return the catalogue number due to the display of
the ‘BP Catalogue No.’ in the marketing document.
The column titles are text fields which can be amended according to the required naming convention.
Page 26 of 46
Result:
In the print-out both BP Catalogue Number and item code are displayed:
Scenario 2: BP Catalogue No. is required in both the marketing document and in the Print Layout Design (PLD)
Template.
If the BP Catalogue Number is required in the SAP Business One GUI form, e.g. Sales Order form, then the item code
can be called in a User Defined Field (UDF) using a Formatted Search (FMS).
Process
Create a UDF on row level of the marketing documents (2007 A Tools -> Customisation Tools -> User-Defined Fields-Management 2005 A Tools -> Use defined fields-> Manage user fields).
Page 27 of 46
Copy the following query to the Query Generator (2007 A Tools -> Query Generator; 2005 A: Reports -> Query Generator) and save it to the Query Manager using an appropriate name.
Select
$[$38.1.0]
Page 28 of 46
The FMS can be set to execute each time the BP catalogue field is updated.
The Item code is then visible in the Sales Order form.
Page 29 of 46
When this workaround is used, it is also possible to call the item code into the PLD template from the UDF.
To do this, in the repetitive area:
Create a Database field.
In the field ‘Table’ select the rows table. In this example we are selecting the Sales Order - Rows table (RDR1).
In the field ‘Column’ select the UDF.
Result:
Both the item code and the BP Catalog Number are displayed in the sales order and its print-out.
Note: If you have several formatted searches, user-defined fields &/or many rows in the document, the SAP Business One performance might be adversely affected.
Index
Index
Page 30 of 46
How to deal with reconciliation upgrade journals of the inconsistency type ‘Partial Exchange Rates
Differences Recognition’?
When upgrading to SAP Business One version 2007 the database undergoes, among others, an internal
reconciliation engine upgrade. There is a fundamental change in system behaviour in that the previously
independently acting reconciliation engines on the journal level & the marketing document level have now
been unified. Any legacy internal reconciliation inconsistency will be highlighted in a ‘Reconciliation
Upgrade’ (RU) journal entry where only the newly introduced ‘Balance Due’ column will be populated. A
multitude of commonly occurring scenarios have been extensively documented in the How-to-Guides,
which are available for download in several different languages.
For further information & links to training & background material on the Internal Reconciliation Upgrade
(IRU), please refer to the IRU Landing Page on the Service Market Place (SMP):
English: http://service.sap.com/~sapidb/011000358700000380562007E
German: http://service.sap.com/~sapidb/011000358700000380562007D
French: http://service.sap.com/~sapidb/011000358700000380562007F
Spanish: http://service.sap.com/~sapidb/011000358700000380562007S
Portuguese: http://service.sap.com/~sapidb/011000358700000380562007P
Chinese: http://service.sap.com/~sapidb/0110003587000003805620071
Japanese: http://service.sap.com/~sapidb/011000358700000380562007J
Korean: http://service.sap.com/~sapidb/0110003587000003805620073
Among the most common RU journals encountered is the inconsistency type ‘Partial Exchange Rates
Differences Recognition’. This inconsistency commonly occurs when a foreign currency (FC) document is
not completely reconciled, e.g. a FC accounts receivable (AR) invoice has been partially paid but there is an
exchange rate difference between the posting date of the invoice & the payment. In versions lower than
2007 exchange rate differences were not automatically posted when partial FC payments were rendered.
Page 31 of 46
Comparison:
System behaviour in SAP Business One 2005 A SP 01 & lower (UK Localisation, indirect exchange rate
posting)
Document FC
Amount
Exchange
Rate
LC
Amount
Document
Balance
Due FC
Document
Balance
Due LC
Document
Paid LC
Delta
between
‘Document
Paid LC’ &
‘LC
Amount’
Actual
exchange
rate
difference
posted
AP invoice 10000.00 2.1 4761.95 10000.00 4761.95 - - -
Partial
Payment
1
5000.00 2.5 2000.00 5000.00 2380.95 2380.95 380.95 0.00
Partial
Payment
2
5000.00 2.5 2000.00 0.00 0.00 2380.95 380.95 0.00
To realize the actual exchange rate difference of 761.90 (380.95+380.95), the user needs to execute the
‘Exchange Rates Differences’ functionality under the ‘Financials’ menu.
System behaviour in 2007 A:
Document FC
Amount
Exchange
Rate
LC
Amount
Document
Balance
Due FC
Document
Balance
Due LC
Document
Paid LC
Delta
between
‘Document
Paid LC’ &
‘LC
Amount’
Actual
exchange
rate
difference
posted
AP invoice 10000.00 2.1 4761.95 10000.00 4761.95 - - -
Partial
Payment
1
5000.00 2.5 2000.00 5000.00 2380.95 2380.95 380.95 380.95
Partial
Payment
2
5000.00 2.5 2000.00 0.00 0.00 2380.95 380.95 380.95
Page 32 of 46
There is no need to execute the ‘Exchange Rates Differences’ functionality in version 2007, the posting
takes place automatically when entering the payments.
When upgrading a database with transactions as described above, the reconciliation inconsistencies will be
highlighted in the ‘Internal Reconciliation Upgrade Audit Trail Report’, which can be executed using the
following path:
Administration -> Utilities -> Inconsistency Audit Trail Selection Criteria Screen
Using the example above & a UK localization database with a local currency of British Pound Sterling & a
foreign currency of Euro, the Audit Trail will show the following:
The internal reconciliation upgrade detected 2 inconsistencies for which 2 RU journals were created. Both
journals are related to partial exchange rate differences. These journals also appear in the Business Partner
(BP) account balance:
Both journals have a ‘Balance Due (LC)’ & need to be reconciled, adding up to GBP -761.90.
To adjust the ‘Balance Due (LC)’, the ‘Exchange Rate Differences’ should be executed & the journal created
given adequate descriptions in the ‘Ref.1’ & ‘Remarks’ fields:
Page 33 of 46
Since the transaction is completed, there is no need to reverse this journal. The RU journals can now be
reconciled with the exchange rate differences journals using the ‘Internal Reconciliation’ functionality
under Business Partners -> Internal Reconciliations -> Reconciliation:
Note: The reconciliation currency for this BP is ‘Euro’ & there is nothing to reconcile in this currency. Hence,
the ‘Amount to Reconcile’ will remain zero.
Therefore, the check box ‘Display LC-Only’ must be ticked. Then the RU journals & the exchange rates
differences posting will be made available for selection.
Once reconciled, the journals have no longer a balance due:
Page 34 of 46
This example had very clear cut values. In a customer database the situation may be more complex &
require a more thorough investigation. This should be done with the company accountant who will have
the ultimate responsibility in deciding what transaction a RU journal should be reconciled with.
Index
Page 35 of 46
How to identify items which have no item cost?
Stock sold by a company needs an item cost and consequently needs to be purchased or produced before being sold.
This classic schema enables the valuation of stock according to the items cost.
In SAP Business One once the items are created their stock can be updated via a Goods Receipt PO or an AP Invoice
not based on Goods Receipt PO, a Goods Receipt from inventory or a stock take or stock posting. If any of these
documents are posted without an item price, the stock of this item will be created without a cost price.
The release of stock without a cost price is determined by the option ‘Allow Stock Release without Item Cost’
(Administration -> Company Details -> Basic Initialisation tab).
Page 36 of 46
When this option is not selected the system will prevent the release of items which have no item cost and will display
an error message similar to this one:
The document involved is an AR invoice & the offending item is found in row 1 & has the item code ‘NL’.
When this option is selected, it is possible to add documents where an item has no cost price. However, this may lead
to inconsistencies in the valuation of the stock and the balance of the stock account.
For more information regarding the usage of this check box ‘Allow Stock Release without Item Cost’ please refer to
SAP notes 729330 and 877536.
As a result, it is important to identify these items and assign an item cost in order to avoid this error message and
inconsistencies in the database.
The following query will enable to find out the items without cost price. It can be saved to the Query Manager and
executed when required.
Page 37 of 46
/* The first query calls the item from OITM where they are not managed by warehouse as there will be one cost price
for all warehouses. It also checks that there is stock for this item*/
SELECT
distinct T0.[ItemCode],
T0.[DfltWH], /*Default warehouse*/
T0.[AvgPrice], /*cost price*/
T0.[OnHand] /*Quantity in Stock*/
FROM
OITM T0
WHERE
(T0.[AvgPrice]is Null or T0.[AvgPrice] = '0' and /*select all items without a cost price*/
T0.[OnHand]>=0 and /* Select all the items with a stock greater than 0*/
T0.ByWH ='N' and/*Select all the items which are not managed by warehouse*/
T0.EvalSystem <>'F'
Union ALL/*join the two queries refer to MSSQL online help*/
/* When the item is managed by warehouse, each warehouse has it's own cost price. The second query will call all
those items managed by warehouse and check the stock of those items*/
SELECT
distinct T0.[ItemCode],
T0.[WhsCode], /*Will specify the exact warehouse where there is no item cost*/
T0.[AvgPrice],/* cost price*/
T0.[OnHand] /*Quantity in Stock*/
FROM
OITW T0 inner Join
OITM T1 on /*The information regarding the management of the item by warehouse is only available on
OITM. The two tables need to be joined.*/
T0.ItemCode=T1.ItemCode
WHERE
(T0.[AvgPrice]is Null or T0.[AvgPrice] = '0') and /*select all items without a cost price*/
Page 38 of 46
T0.[OnHand]>=0 and /* Select all the items with a stock greater or equal to 0*/
T1.ByWH = 'y' and /*Select all the items which are managed by warehouse*/
T1.EvalSystem <> 'F'
Union ALL
/* This query will help to find the item valuated by FIFO. The FIFO cost prices are not stored in OITM or OITW.*/
SELECT
distinct T0.[ItemCode],
T0.Warehouse, /*Will specify the exact warehouse where there is no item cost*/
T0.calcprice,/* cost price*/
T1.[OnHand] /*Quantity in Stock- this is not the quantity per layer. OINM will need to be queried to find
the amount of layers and the quantity per layer*/
FROM
OINM T0 inner Join
OITM T1 on /*The information regarding the valuation method is available on OITM. The two tables need to
be joined.*/
T0.ItemCode=T1.ItemCode
inner Join
OITW T2 on
T0.Warehouse = T2.WhsCode and
T0.ItemCode=T2.itemCode and
T1.itemCode= T2.Itemcode
WHERE
(T0.CalcPrice is Null or T0.CalcPrice = '0') and /*select all items without a cost price*/
T1.[OnHand]>=0 and /* Select all the items with a stock greater or equal to 0*/
T1.EvalSystem = 'F' /* will only call the items valuated by FIFO*/
To identify which layers and which documents are affected for the FIFO items the following query can be used.
SELECT
Transnum, /* identify the transaction*/
Page 39 of 46
Transtype, /* Identify the document type eg Goods Receipt PO*/
createdby,/* Journal Entry reference*/
Base_ref, /* Document Number*/
Itemcode,
Inqty,
OutQty,
price,
Calcprice,/* Cost price*/
openQty
FROM
OINM
WHERE
itemcode in ('XX', 'XXX') and /* List of affected FIFO items*/
inqty <> openQty and
(CalcPrice is Null or CalcPrice = '0')
If the query returns results:
In version 2007 A the items with a standard, moving average or FIFO valuation method can be revaluated using the
stock revaluation under Stock Management -> Stock transaction . The Accountant should decide the new cost prices.
In version 2005 A SP1 only the item with a valuation method other than FIFO can be revaluated using ‘Stock
Revaluation’ (Stock Management -> Stock transactions -> Stock Revaluation).
Page 40 of 46
Alternatively, the items can be issued from stock to rectify the item cost. This can be done using a ‘Goods Issue’
(Stock Management -> Stock Transactions –> Goods Issue) or a negative stock posting. According to the amount of
items it could be done manually or using DTW. (Please refer to the Newsletter article ‘How can I determine which
fields are mandatory in a Data Transfer (DTW) template’ in order to know how to fill the templates.) This process can
also be followed when working with FIFO revaluation in 2005 A SP01. However, care should be taken when creating
the Goods Receipt to ensure that the items enter stock in the correct order ensuring the integrity of the FIFO layers.
Page 41 of 46
In order to enable the user to issue the stock the flag ‘Allow Stock Release without Item Cost’ under Administration ->
System Initialisation -> Company details -> basic Init. Tab, should be checked during the processing of these
transactions. Please refer to notes 729330 and 877536 for more information on this functionality,
If stock is returned to the warehouse, it can be returned using a goods receipt to inventory, initial quantity or Stock
Posting with an appropriate cost. There again it is possible to use DTW to import the different Goods Receipts or the
stock taking.
If the items are managed by the FIFO valuation method the accountant of the company must decide whether the
item cost of each item should be returned to the system with one layer or multiple layers.
Index
Page 42 of 46
What are the ‘Transaction Type’ numbers?
Note: 902807
SDK Help File
Transaction types (also known as object types) are used in SAP Business One database tables in order to identify
specific transactions. Each transaction type has its own identification number, for example an AR Invoice is
transaction type 13.
An example of where the transaction types are used is in the OINM table (stock movement table). When querying the
OINM table, the documents triggering a stock movement can be identified by their transaction type. In the following
screenshot the OINM table is queried for the item code ‘HM’. When analyzing the ‘Transaction Type’ field, it is
possible to see the first issuance of stock for the item ‘HM’ was with ‘Transaction Type’ 13, which is an AR Invoice.
The transaction types for the different object types or transaction types in SAP Business One are available in the SDK
Help files at the following path.:
Developers Guide -> DI API -> Reference -> DI API ->Overview-> Enumerations -> BoObjectTypes Enumeration.
As can be seen in the following screenshot when the option ‘BoObjectType Enumeration’ is selected, the list of
transaction type values and their associated document/transaction names will appear on the right hand side of the
screen. Each document/transaction name is displayed in the ‘Member’ column and its associated ‘Transaction Type’
number is displayed in the column ‘Value’ :
Page 43 of 46
Index
Index
Page 44 of 46
Why does SAP Business One display a system message alerting the user that a cash account is required when
making a payment?
SAP Note 1252247
When attempting to add a payment, the following system message is received:
Receiving monies from customers & making payments to vendors affects a company’s cash flow. SAP Business One
facilitates up-to-date reporting on the cash flow:
Financials -> Financial Reports -> Cash Flow
The accounts shown in the matrix on the right are all marked as ‘Cash Account’ within the account details of the
Chart of Accounts (CoA):
Page 45 of 46
Any posting to such marked accounts hence affects the cash flow report.
When manually posting a payment as bank transfer, SAP Business One logic dictates that the money has already
changed hands & has been transferred from one account to the other. As soon as money is deposited or withdrawn
from the company’s bank account, this should affect the cash flow. Therefore, if the GL account specified in the field
‘G/L Account’ is not marked as a cash account, the system message is triggered. Similarly, if the payment means is
‘Cash’ & the GL account used is not a cash account, the message will appear.
As far as incoming payments are concerned , credit card & cheque payments are not expected to affect the cash flow
since both are simply vouchers for a future payment by/to the bank &/or the credit card company. Hence the system
message will not be triggered if the GL account in these 2 payment methods is not a cash account.
In outgoing payments, however, SAP Business One will also look for a cash account when issuing a cheque.
A related system message is received when using a cash account for an incoming payment by cheque or credit card:
Page 46 of 46
Again, technically a received cheque or credit card payment is not cash & should hence not affect the cash flow
report. The application will allow the user to proceed, though.
Index