1 2 3 14 Previous Next

SAP Business One Application

208 Posts
Frank Wang

Love B1

Posted by Frank Wang Apr 10, 2015

I have been using B1 for a year now, learning a lot of stuff, the best part is B1's accounting is very accurate, no mistakes. Very helpful..

Hi all,


We have just released a revised product road map on March 20th. It details our plans for SAP Business One version 9.2 and other deliveries, as well as general updates and adjustments.


See what’s ahead – including functions to meet new business needs, technologies, and expanded coverage.


SAP customers and partners can find all SAP solution- and product road maps in a consistent format and regularly updated in the Service Marketplace (SMP): http://service.sap.com/saproadmaps. (requires S-User)

  • The product road map for SAP Business One is available under Solution Road Maps -> Cross Topics or via this direct links in English, Korean, and Chinese.
  • Not all translated versions of the March 2015 edition are available yet, find previous July 2014 editions in German, Brazilian Portuguese, or Spanish. I'll update you as soon as these are updated.



Be aware that the SAP Road Map for SAP Business One presentation is NOT public, its content must not be published.

Please note the legal disclaimers.

Best regards,
Peter, SAP Business One Solution Management

Richard Pleasant

Two Overhead Rates?

Posted by Richard Pleasant Mar 24, 2015

Can I use two standard overhead rates, one based on Material Cost and One based on DL dollars to value WIP?  I am installing a standard cost system using SAP Business 1 ERP Software.


Rich Pleasant

SAP Business One 9.1 PL05, version for SAP HANA has been released.


Details of this release can be found at the overview note: 2107321  - Overview Note for SAP Business One 9.1 PL05, version for SAP HANA


Important Notes


Access the SAP Business One  9.1 Clips on YouTube or the SAP Business One Academy to learn about the new release.


SAP Business One HANA pages in SDN


SAP Business One on SAP HANA solutions


SAP Business One HANA topics

SAP Business One, version for SAP HANA Extensibility topics



In the recently released version of SAP Business One, the Production enhancements offer manufacturing clients significant benefits, particularly those in (or working towards) light manufacturing.


In this week’s post we have summarised some of the major updates and the benefits they can bring to an organisation’s production capability.


Production enhancements


Ensuring you have enough capacity and resources to complete all orders.


  • New Module-Resources linking to Mainstream Production Module
  • The enhancement now enables you to use Manual Method (previously it would only work with back flush method)
  • Bulk updates of BOM
  • Information about resources as well as textual information has been added to the module
  • Items can be based on process flow
  • Stock Transfer Request, Stock Transfer, and Packing List can be done from the production order
  • Upon closing a production order, any difference for non-standard cost parent items posted to the WIP Variance account is posted to the Inventory account of the parent item
  • If a User Defined Field (UDF) with the same name and same type exists in both the Bill of Materials window component table and on the Production Order window table, then on entry of the parent item into a production order, the values of the UDF fields from the Bill of Materials window are copied into the corresponding UDF fields in the Production Order window
  • By setting a UDF field in the Bill of Materials window to hold a link to a file, you cause that link to be copied into the corresponding UDF field in the Production Order window. This feature is important as a means of handling attachments such as manufacturing plans or other documents.


Production Business benefits


  • More efficient planning and monitoring production capacity
  • Easier tracking of costs
  • Improved BOM management
  • By-product components are handled more easily


Resources enhancements


  • New module for planning and managing resource capacity more efficiently
  • Define components for machines, labour or other resources (by group or type)
  • Link info to fixed assets and employee data with the individual Resource Master Data
  • Resource capacity allocation can be done by setting a daily capacity or by manually allocating for specific days
  • New column type at row level for BOM and Production Order


Resources business benefits


  • Bird’s eye view - visibility of available capacity to avoid bottlenecks and optimise production plan
  • Resource costs are included in the final product cost
  • Resources can now be recorded in the BOM so users can do their capacity planning and achieve more accurate product costing


By-products enhancements


  • Manual issue method for by-products is now enabled in addition to the Back flush issue method
  • By-products are then displayed in receipts from production
  • The ability to receive by-products with the Manual issue method enables you to manage them with the Serial/Batches valuation method
  • Upon receiving a by-product in the receipt from production, you can define its cost in the Unit Price field.


Examples of by-products include in chemical production, food and beverage production and metal plate cutting, where the remaining products are re-used for producing another item(s).


By-products business benefits:


  • Various by-products can be produced within one single production order.
  • The receipt of by-products can be controlled by the user using the Manual Issue Method


Additional quantities enhancements


Additional Quantity (also known as Setup Quantity) is one or more component of the production process that requires resources either at the beginning or at the end of a production process in order to complete the final item. Additional quantities are not affected by the number of parent items to produce.


Examples include, machine startup time (resource) or a lead component used to adjust the machine (item).


Additional quantities business benefits


Machine setup time or lead component consumption can be managed using additional quantities.


Bill of Materials (BOM) enhancements


There is a new functionality in B1 V 9.1 for mass changes to components in bills of material - you can perform mass changes in multiple existing bills of material simultaneously.


  • Add new components to selected bills of material
  • Delete specific components from selected bills of material
  • Change parameters (such as quantity, warehouse, issue method, etc.) for selected bill of material components
  • Replace bill of material components
  • New tab on the item master data for production
  • The Production tab contains all production relevant data
  • Phantom Item and Issue Method fields have been moved from the General Tab
  • New fields for BOM Type, No. of Item Components and No. of Resource


Examples include:


  • The WIP (Work in Process) account can be added on the bill of material and/or production order row level
  • The WIP account on the row level can be used if you want to manually specify a WIP account for specific item or resource component
  • By default this field is empty and the WIP account from the standard G/L account determination rules is used
  • When specific WIP account is entered then it has a higher priority than other G/L Account determination rules
  • Interim WIP Consolidation Account Mapping - This functionality provides mapping for multiple WIP accounts such that upon the closing of a production order, the WIP account postings for sub-assembly components are all zeroed down and transferred to a single sub-assembly interim WIP account.


BOM business benefits


  • Easy Maintenance - Mass BOM update makes BOM management much easier and more efficient
  • Row shifting allows changing the routing sequence in BOMs and production orders.

The SP_TransactionNotification is to receive notification on any transaction - in other words to do some validation in SAP Business One and prevent the user from doing an action if the validation condition fails. This stored procedure(SP) is created automatically with each database.This stored procedure is fired whenever operations are performed on business objects like document or master records and User-Defined Objects.


The SBO_SP_TransactionNotification stored procedure is created automatically when new company is created in SAP Business One.




Below are the parameters:


@objecttypereturns a string representing the type of object which is a numerical value

It may have values of:

  • A (where a record was added)
  • U (where a record was updated)
  • D (where a record was deleted),
  • C (where a document was canceled)
  • L (where a document was closed)
@list_of_cols_val_tab_del This returns a tab-delimited list of values required to retrieve the object from B1.
@errora integer value shows the number
@error_messagemessage needs to be show as a message to user


please make sure you always go through the “@error, @error_message” at the end, especially in the case where you want the transaction to be considered as successful. Without the return of these 2 values, SAP Business One will consider the transaction as failed.

Adding Code to the Stored Procedure

Look at a sample code that uses it. The SBO_SP_TransactionNotification stored procedure should be modified to include the following Transact-SQL code. Add the following text to the section of the stored procedure that says "Add Your Code Here"




Sample Code



Only the query needs to be change according to your need.

Disabling\Comment Code

Comment within SQL statements do not affect the statement execution. You can comment statement in to ways.

In line comments < -- > or block comment < /*  */>

Sample Code


Difference between PostTransactionNotice and TransactionNotification procedure

The only differences being when they are triggered and the ability to use the @error functionality of SBO_SP_TransactionNotification to rollback transactions. SBO_SP_PostTransactionNotice can only be triggered at the end of an action (transaction committed). Most users only use SP_TransactionNotification because it can be used to verify data to block unwanted posting.



The following documentation is available:


TransactionNotification of SAP Business One HANA

I have had the request from several SAP Business One customers to view the last price given to a specific customer for a specific item.  Well the only real solution I could come up with would be to make an FMS on the price with a query.  This is an OK solution but I came across a much slicker solution when searching the SAP help file for something completely unrelated.


Turns out there is a secret "Last Prices Report" which is build in (I'm testing on SBO 9.0 PL07, but I verified it on 8.82 PL13 as well).  This report is not apparent but is easy enough to get to.


When you are adding a row to a document all you need to do is click in the field for price for the item you want and click CTRL + TAB.


The report looks like this:



It has all sorts of nifty options as well.


So if you ever get this request remember CTRL + TAB!

At some point in your SAP Business One consulting career you will get the question as to WHY the Inventory Audit Report (Inventory >> Inventory Reports >> Inventory Audit Report) doesn’t match the GL balances or balance sheet totals.


Generally this question is during the year end closing process where accountants want to see what makes up the balance of the inventory balance.


SAP Business One is designed to give you this information UNLESS you manually adjust the inventory accounts via journal entry. At the point where you manually adjust the inventory accounts then SAP will no longer spit out the inventory audit report with the exact same balances as the GL accounts.


If your customer is using the cycle count, inventory posting, inventory revaluation and goods issues/receipts they should be able to manage their inventory properly without the need to manually adjust with a journal entry. This is just lazy.


I wish SAP had the option to turn inventory accounts into control accounts like the Accounts Receivable and Accounts Payable accounts but the option doesn’t exist yet. So what I did was to just make a TransactionNotification query that will block manual journal entries to any account linked to an Item Group.


Here it is:


— MJT: Block manual journal entries to inventory accounts
IF (@transaction_type = ‘A’ OR @transaction_type = ‘U’) AND @object_type = ’30’
IF EXISTS(SELECT T0.[TransId] FROM OJDT T0 INNER JOIN JDT1 T1 ON T0.[TransId] = T1.[TransId] INNER JOIN OITB T2 ON T1.[Account] = T2.[BalInvntAc]


WHERE T1.[TransType] = 30 AND T0.[TransId] = @list_of_cols_val_tab_del) AND (SELECT S0.[DspIITMDoc] FROM ADM1 S0) = ‘Y’


SELECT @error = -10, @error_message = ‘Direct Journal Entries to Inventory Accounts Not Permitted [Journal Entry – Account Code] [Message 60110-30]’


To install it you would want do the following steps:


  1. Open MS SQL Management studio
  2. Open your live DB (or test db if you want to verify)
  3. Go to Programmability >> Stored Procedures
  4. Find SBO_SP_TransactionNotification
  5. Right click SBO_SP_TransactionNotification and select “Modify”
  6. Find the space in the query where it says “– ADD YOUR CODE HERE”
  7. Paste my code in
  8. Push “!Execute” along the top


When it runs it should say “Command(s) completed successfully.” and then manual journal entries will be blocked. All other system generated entries will work fine, just the manual entries to inventory accounts.


Then when they run the Inventory Audit Report it will match perfectly!



When you make a dropdown list in SAP the data is stored as a code in the system. When trying to do an SQL query or Crystal Report you will find that only the code is output so the user reading the query / report doesn’t see the description.

You could do a case statement like this:


WHEN T0.[U_UDF] = ‘A’ THEN ‘Alligator’
WHEN T0.[U_UDF] = ‘B’ THEN ‘Bumblebee’
WHEN T0.[U_UDF] = ‘C’ THEN ‘Cat’


But this isn’t very pretty and frankly is annoying if you have more than three or four options. Same with Crystal Reports; you would have to manually write a formula and have this evaluate while the report is generating which is annoying.


There is a simple solution for this which is table UFD1. This is not listed in the query manager so you would want to play around with it in SQL Management Studio to see the structure:


UFD1.TableID – NVARCHAR(20) – The table name where the UDF is located (in my example I will use a UDF called UDF on the OCRD or BP Master Data table)
UFD1.FieldID – INT(6) – Represents a code correctional to the specific field on the form. Not necessarily ordered 1, 2, 3, 4 since not every field has predefined options. So you need to look at the table to find the specific field you want (in my example it turns out to be 37)
UFD1.IndexID – INT(6) – The order of the predefined value in the UDF combobox.
UFD1.FldValue – NVARCHAR(254) – The code value of the predefined option for the UDF.
UFD1.Descr – NVARCHAR(254) – The description of the value of the predefined option for the UDF. This is what we want!


So the easiest way to find the field you are looking for is to go to SQL Management Studio and run the following query:




This will give you the list of all the predefined fields. Then you have to filter for the table you are using. In SAP Business One click View >> System Information to turn on the system information viewer then hold your mouse over your new UDF and look at the bottom left of the screen. You should see the appropriate table. In my example it’s on the Business Partner Master Data which is OCRD. But it can be on any form.


Then you want to run:


(replace OCRD with your table name)


Then you will see just a list of UDFs on the specific form you are working with and it should be easy to identify the FieldID of the correct set of results.


Then you run:


(replace 37 with your actual FieldID)


The results will be just the information need and your selected descriptions should be visible.


Now you want to output this into a query you just have to do a LEFT OUTER JOIN to your main table by the FldValue. Something like:


,T1.[Descr] ‘My UDF’
LEFT OUTER JOIN UFD1 T1 ON T0.[U_UDF] = T1.[FldValue] AND TableID = ‘OCRD’ AND FieldID = 37


Finally you want to restrict the joined table to only come from the OCRD table and the specified field. Make sure you change U_UDF to your UDF field name, the TableID to the table you are working with and the FieldID to the specific field you are working with.


The results will be output but the description of the UDF will be the third column instead of simply the UDF code. Don’t forget to “LEFT OUTER JOIN” the UFD1 table or you will get limited results.


To use in Crystal Reports it would be slightly more tricky but you could do either a Crystal Reports command or an SQL view and join it onto the field in the Database Expert. Comment below if you want me to do a video screencast on how to do this!

Since SAP Business One 9.0 I had been hearing about new EFT capabilities built right into the system and I had a client request this feature so I decided to really dig into the subject. So after a LOT of investigation and testing I will summarize in plain English what I found.



(NOTE: my focus here is on EFT files, NOT bank reconciliation files but SBO can do this as well. I will attempt to note this whenever possible.)


SAP Business One Has a Really Well Thought Out EFT System

It’s hard to find and understand but it is well thought out once you get the hang of it. It can do EFT files for payment, import files for bank reconciliation and generate CSV files in specific format for any other file type you would want to work with. I was using it specifically for an EFT outgoing payment file to a bank for payments.



The Electronic File System is Two Part

It is not documented very well but you need two SAP add-ons to make this system work properly. One to edit the files called Electronic File Manager (EFM Format Definition) and then one to generate the payment file from the Payment Wizard (Payment). Both should come with a standard installation, in this screenshot I’m using SBO 9.0 PL15.




Built into SBO all you need to define is the file format for the payment method (Administration >> Setup >> Banking >> Payment Methods) for it to be activated with your particular payment method. Of course you need to define the payment method as default for the vendors (this can be done with DTW) and then you are good to go with the payment wizard. If you are having issues with the actual upload to the “File Formats – Setup” just right click the row and click “Assign Format Project…” to assign your file.


The System is Based on Crystal Reports

The EFM uses a very nice Crystal Reports data source setup. You can import and export datasources to Crystal to make modifications, re-import them easily (with automatic link updates) and generally craft your output data using CR grouping and formatting. There is a limited set of formatting formula options within the EFM tool though.


The Actual File Export is Hard to Find!

I made my file and installed it without any issues but finding the actual output was damned near impossible. Once I found it though, the system was pretty tight, letting you generate test files and even recompile the information source before exporting. SO, if you spot missing bank information or the bank rejects the file for some reason you can make the changes and regenerate the file before exporting.




Once you find the little button then you are good to go, but I had no idea where to find it! Here is what the screen looks like:




The button is on the very last page of the Payment Wizard form at the bottom and is only visible when the “Payment” add-on is running.

Documentation is Hard to Find

You will find an ooolllddd expert empowerment session which is referenced but it doesn’t really have the information you are looking for (2007A time period). But if you look hard enough you will stumble across a couple of good references. Here are some links:

Reference #1
Reference #2


You can also use the EFM help file which has a lot of information specifically for formatting and editing within the editor but good overall reference once you find it. Activate the add-on called “EFM Format Definition” from SBO, then relaunch the client. Once installed and running go to Tools >> Electronic File Manager: Format Definition to run the editor. Once in the editor click Help >> Online Help or F1.


There is a Great Sample to Start With

In Reference #2 there is a .BPP file which is a great starting point to understand the structure, I don’t think two banks will be exactly the same so you will likely be adapting it from scratch any way you approach it.


There is NO Standard Layout

From what I can see, each bank (I’m located in Canada, maybe USA or other is different) has their own type of file format definitions that differ slightly (or majorly depending on your bank).


Here are the formats that come with the system:



(NOTE: Minus the 80Byte which is my own)


So if any of those formats fit your definition exactly then you are in luck and it will save you a ton of work. If not, then you will have to get the file format definition from your bank. Also as a side note, banks may or may not be willing to really help you out with the formatting and testing, depends on the bank and branch, etc.



With the two add-ons in place and the reference materials you load up your EFM program and use the template as a starting point, from there you can just add sections and subsections based on your bank documentation. Upload the file and associate it with the payment method of choice (must be bank transfer) and then set as default for vendors. As you are using the payment wizard the steps will be the same, once you get to the very end and the run has been executed, just look for the button in the lower left area to generate your file. Upload to your bank et voilà!

There are five steps in preparing for the SAP Business One Implementation and Support (C_TB1200) exam.


  • Step 1 – Learn the basics of the SAP Business One product
  • Step 2 – Learn implementation and support skills
  • Step 3 – Study for the exam
  • Step 4 – Take a practice test
  • Step 5 – Sign up for the exam


Let's look at each step.


Step 1 – Learn the basics of the SAP Business One product


The basic product knowledge needed for the exam is covered in the  SAP Business One Logistics (TB1000) and Accounting (TB1100) courses. The material from these courses is found in several places, but the best place to start is here on SCN.


You can begin with the SAP Business One Academy pages.  Why is this best?  Because all the materials are free and do not require any special user or password to access. The TB1000 Logistics and TB1100 Accounting course materials are found on the Overview page, the Logistics page, and
the Accounting page.  All the topics covered in the exam are marked with asterisks so they are easy to spot. 


Depending on your location, you may have the option to take these courses with an instructor. The SAP Training and Certification shop lists when these courses available. 


Additionally, translations of the course texts and exercises in other languages are available on the SAP PartnerEdge . Note that only SAP Partners can access the SAP PartnerEdge.


And of course, just taking the courses alone will not be enough to master the basics -- you will need an SAP Business One system to practice on.  Once you have a system, you can download the exercises/solutions from the SAP Business One Academy pages to begin practicing.


Step 2 –Gain implementation and support skills


After getting the basic product knowledge, the next step is to gain implementation and support skills. We recommend working with an existing partner to get hands-on experience.



Additionally, you need to take the course that covers SAP Business One implementation and support (TB1200). The TB1200 course materials are also available on SCN in the SAP Business One Academy on the Implementation & Support page.  Again, all the topics covered in the exam are marked with asterisks so they are easy to spot.


Just like with the Logistics and Accounting courses, you may have the option to take these courses with an instructor. The SAP Training and Certification shop lists when these courses available.  Personally, I would recommend taking this course in person if possible because in the classroom you have the option to do a case study that really brings everything together.


As always, translations of the course texts and exercises in other languages are available on the SAP PartnerEdge .


Another way to access training and gain experience for students is through the University Alliance.
Here is a link to the University Alliance on SCN:  http://scn.sap.com/community/uac   Students can sign up once their University is a member of the program.  If you'd like to join and your university is not yet a member of the alliance, please encourage your University to contact SAP Education to join the program.




Step 3 – Study for the exam


The best tool for studying is the Study Guide.


The study guide gives you a set of questions.  If you can answer the questions in the study guide in your own words, then you most certainly can pass the exam.  After each section of questions, there are links to the materials that will help you answer the questions.



Step 4 – Take a practice test


The certification exam contains 80 questions.  There is a practice test with 40 questions that is structured in the same way as the exam and has similar types of questions.  This can be a useful guide to your preparedness.  The practice test is located on the SAP PartnerEdge. You will need an S-user to access the SAP PartnerEdge.



Step 5 – Sign up for the Implementation Consultant exam


Now that you're prepared, sign up for the 9.0 version of the C_TB1200 exam.  The 9.0 exam is available in all languages and the links above are to the materials to prepare for the 9.0 exam.   To sign up for CTB1200 go to the SAP Training and Certification shop:  http://training.sap.com/shop/certification/

SAP Business One 9.1 PL04, version for SAP HANA has been released and is now in unrestricted shipment.


All details can be found at the overview note: 2086542 - Overview Note for SAP Business One 9.1 PL04, version for SAP HANA


Important Notes

  • 2111036 - Please check this note if your SLES system is NOT set as English (US) and your product package (installation or upgrade package) is SAP Business One 9.1 PL04, version for SAP HANA.


Access the SAP Business One  9.1 Clips on YouTube or the SAP Business One Academy to learn about the new release.



Have you already seen the new Workbench widget part of SAP Business One 9.1, version for SAP HANA?


Workbench widget standardizes and visualizes the most common business processes. It not only simplifies the complex functions by grouping common functions together according to different business purposes, but also provides you with a consolidated entry to perform various kinds of jobs.



In SAP Business One, version for SAP HANA, we provide 4 standard templates. However, the standard templates may not precisely meet the business requirements of your company.


In order to enhance the customized functionalities of the workbench widget, Workbench Editor is introduced. With Workbench Editor, you can customize the standard templates from SAP based on your own business requirements. However, you are not able to create a new Workbench process template at the current version.


There is a YouTube video that shows the abilities of the tool step by step



The editor promotes the efficient performance of the Workbench widget. It enables you to do the following:

• Flexibly create, edit and delete entities

• Freely change the layout of the entities in the working pane

• Focus on your responsibilities with customized information


You can download Workbench Editor from SAP Note 2097429 - You can now customize standard workbench templates with Workbench Editor.

Just check the note and customize the out of the box Workbench widget provided.

And don't forget to give us feedback!


Hope you will find it useful for your customers!


Hi all SAP experts,

     Some days before i needed a Transaction Notification to Block the Receipt of final product whose actual issued quantity is not equal to planned quantity in production order. So first of all i tried to find on SCN and some other B1 sites but did not find any solution,then after that  i made  a Store procedure which i am sharing with you all.


IF @object_type='59' AND @transaction_type = 'A'




                         WOR1  A1 ON A.DocEntry = A1.DocEntry INNER JOIN

                         IGN1 B1 ON  A.ItemCode = B1.ItemCode AND A.DocNum=B1.BaseRef

                                         WHERE  A1.PlannedQty<>A1.IssuedQty and a.ItemCode=B1.ItemCode

                                           and B1.DocEntry = @list_of_cols_val_tab_del

                                         GROUP BY A.DocNum,B1.ItemCode,A1.ItemCode,A1.PlannedQty,A1.IssuedQty,b1.DocEntry



SELECT @Error = 1, @error_message = 'Actual Issued must be  equal to planned quantity'




Hope this will help to block the Transaction.



Thanks & Regards,


When I transfer a multi line item from quotes to orders, I can only delete one line at a time.

Sometimes the quote might be 50 line items and they only order 10 and I have to delete

each item one at a time, which is very time consuming


Filter Blog

By author:
By date:
By tag: