<!DOCTYPE html>
<html lang="en">
<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!-->
<head>
<meta charset="utf-8">
<title>The Apache OFBiz&reg; Project</title>
<meta name="Description" content="OFBiz is an open source enterprise automation software project licensed under the Apache License. It means you are not alone and can work with many others." />
<meta name="Robots" content="index,follow" />
<!-- Mobile Specific Metas
    ================================================== -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- CSS
    ================================================== -->
<!-- Bootstrap  -->
<link type="text/css" rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
<!-- web font  -->
<link href="//fonts.googleapis.com/css?family=Open+Sans:400,300,800" rel="stylesheet" type="text/css">
<!-- plugin css  -->
<link rel="stylesheet" type="text/css" href="/js/plugins/pretty-photo/css/prettyPhoto.css" />
<link rel="stylesheet" type="text/css" href="/js/plugins/rs-plugin/css/settings.css" media="screen" />
<link type="text/css" rel="stylesheet" href="/js/plugins/hoverdir/css/style.css">
<!-- icon fonts -->
<link type="text/css" rel="stylesheet" href="/font-icons/custom-icons/css/custom-icons.css">
<link type="text/css" rel="stylesheet" href="/font-icons/custom-icons/css/custom-icons-ie7.css">
<!-- Custom css -->
<link type="text/css" rel="stylesheet" href="/css/layout.css">
<link type="text/css" id="colors" rel="stylesheet" href="/css/colors.css">
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<!--[if gte IE 9]><style type="text/css">.iconBig, .active, .hover a , .Shover a { filter: none !important; } </style> <![endif]-->
<script src="js/modernizr-2.6.1.min.js"></script>
<!-- Favicons
    ================================================== -->
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="apple-touch-icon" href="/images/apple-icon.png">
<link rel="apple-touch-icon" sizes="72x72" href="/images/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="/images/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="144x144" href="/images/apple-icon-144x144.png">
</head>
<body>
<!-- header -->
<header id="mainHeader" class="clearfix">
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container"> <a href="index.html" class="brand"><img src="images/ofbiz_logo.png" alt="Apache OFBiz Logo"/></a>
        <nav id="mainMenu" class="clearfix">
          <ul>
            <li><a href="index.html" class="firstLevel active">Home</a></li>
            <li><a href="#" class="firstLevel">Getting Started</a>
              <ul>
                <li><a href="developers.html" class="">Developers</a></li>
                <li><a href="business-users.html" class="last">Business Users</a></li>
              </ul>
            </li>
            <li><a href="#" class="firstLevel">News</a>
              <ul>
                <li><a href="//twitter.com/apacheofbiz" target="external">Twitter</a></li>
                <li><a href="//blogs.apache.org/ofbiz/" target="external" class="last">Blog</a></li>
              </ul>
            </li>
            <li><a href="#" class="firstLevel">Documentation</a>
              <ul>
                <li><a href="//cwiki.apache.org/confluence/display/OFBIZ/Documentation#Documentation-End-UserDocumentation" target="external" class="">User Documentation</a></li>
                <li><a href="//cwiki.apache.org/confluence/display/OFBIZ/Technical+Documentation" target="external" class="">Technical Documentation</a></li>
                <li><a href="//cwiki.apache.org/confluence/display/OFBIZ/Home" target="external" class="">Wiki</a></li>
                <li><a href="//ci.apache.org/projects/ofbiz/site/javadocs/" target="external" class="last">API Reference</a></li>
              </ul>
            </li>
            <li><a href="#" class="firstLevel">Community</a>
              <ul>
                <li><a href="getting-involved.html">Getting Involved</a></li>                
                <li><a href="mailing-lists.html">Mailing Lists</a></li>
                <li><a href="source-repositories.html">Source Repository</a></li>
                <li><a href="download.html">Downloads</a></li>
                <li><a href="//issues.apache.org/jira/browse/OFBIZ/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel" target="external" >Issue Tracker</a></li>
                <li><a href="faqs.html" class="last">FAQ</a></li>
              </ul>
            </li>
            <li><a href="ofbiz-demos.html" class="firstLevel">Demos</a></li>
		  <li>
		    <a href="//twitter.com/ApacheOfbiz" class="icon-twitter-bird socialIcon tips"
		      target="external" title="follow us on Twitter"><span>twitter</span></a>
		  </li>
		  <li><a href="//www.youtube.com/user/ofbiz" class="icon-play socialIcon tips"  title="follow us on Youtube"><span>Youtube</span></a></li>
		  <li><a href="//www.facebook.com/Apache-OFBiz-1478219232210477/?ref=page_internal" class="icon-facebook socialIcon tips"  title="follow us on Facebook"><span>facebook</span></a></li>
		  <!--<li><a href="#" class="icon-rss socialIcon tips"  title="Our rss feed"><span>rss feed</span></a></li>         
		  <li><a href="#" class="icon-gplus socialIcon tips"  title="follow us on Google +"><span>google +</span></a></li>
		  <li><a href="#" class="icon-instagram socialIcon tips"  title="follow us on Instagram"><span>instagram</span></a></li>
		  <li><a href="#" class="icon-linkedin socialIcon tips"  title="follow us on Linkedin"><span>linkedin</span></a></li>
		  <li><a href="#" class="icon-pinterest-circled socialIcon tips"  title="follow us on Pinterest"><span>Pinterest</span></a></li>-->
          </ul>
        </nav>
      </div>
    </div>
  </div>
</header>
<!-- header -->
<!-- globalWrapper -->
<div id="globalWrapper">

<!-- slider -->
<section  id="sliderWrapperRS">
  <!-- background slider dark bloc -->
  <div id="bgSliderBlocWrapper">
    <div class="container">
      <div id="bgSliderBloc">&nbsp;</div>
    </div>
  </div>
  <!-- background slider dark bloc -->
  <div class="fullwidthbanner-container">
    <div class="fullwidthbanner" >
      <ul>
        <li data-transition="fade" data-slotamount="1"  data-masterspeed="2000"> <img src="images/slider/rs/thumb.png" alt="slide"/>
          <div class="caption lfr" data-x="0" data-y="46" data-speed="1000" data-start="300" data-easing="easeOutExpo"><img src="images/slider/rs/CatalogPromotions-SaphirTheme.png" alt="slide" class="ie8PngFix" style="max-width: 500px;"/></div>
          <div class="caption sft" data-x="495" data-y="50" data-speed="300" data-start="600" data-easing="easeOutExpo" >
            <h2>What our users are saying..</h2>
          </div>
          <div class="caption sfb hidden-phone" data-x="495" data-y="125" data-speed="300" data-start="700" data-easing="easeOutExpo">
            <h3><i class="icon-right-circle"></i>&nbsp;Powerful, flexible and free....what more could a developer ask for?</h3>
          </div>
          <div class="caption sfl hidden-phone" data-x="495" data-y="159" data-speed="500" data-start="1000" data-easing="easeOutBounce" >
            <h3><i class="icon-right-circle"></i>&nbsp;I highly recommend OFBiz. I finished my project in 6 months working solo</h3>
          </div>
          <div class="caption sfl hidden-phone" data-x="495" data-y="193" data-speed="500" data-start="1250" data-easing="easeOutBounce" >
            <h3><i class="icon-right-circle"></i>&nbsp;I love this framework and the freedom it gives</h3>
          </div>
          <div class="caption sfl hidden-phone" data-x="495" data-y="227" data-speed="500" data-start="1500" data-easing="easeOutBounce" >
            <h3><i class="icon-right-circle"></i>&nbsp;the community support is amazing...</h3>
          </div>
        </li>
        <li data-transition="fade" data-slotamount="2"> <img src="images/slider/rs/thumb.png" alt="slide"/>
          <div class="caption lfl" data-x="450" data-y="65" data-speed="900" data-start="800" data-easing="easeOutBack"><img src="images/slider/rs/InventoryItems-SaphirTheme.png" alt="slide" class="ie8PngFix" style="max-width: 500px;"/></div>
          <div class="caption sft" data-x="70" data-y="120" data-speed="300" data-start="1600" data-easing="easeOutExpo" >
            <h2>Enjoy the benefits</h2>
          </div>        
          <div class="caption lfr hidden-phone" data-x="72" data-y="194" data-speed="500" data-start="1500" data-easing="easeInExpo" >
            <h3><i class="icon-right-circle"></i>&nbsp;Freedom from vendor lock-in</h3>
          </div>
          <div class="caption lfr hidden-phone" data-x="72" data-y="228" data-speed="500" data-start="1700" data-easing="easeInExpo" >
            <h3><i class="icon-right-circle"></i>&nbsp;Flexible enough to fit any business</h3>
          </div>
        </li>
        <li data-transition="fade" data-slotamount="1"> <img src="images/slider/rs/thumb.png" alt="slide"/>
          <div class="caption lfr" data-x="0" data-y="60" data-speed="800" data-start="300" data-easing="easeOutBack"><img src="images/slider/rs/Project-SaphirTheme.png" alt="slide" class="ie8PngFix" style="max-width: 500px;"/></div>
          <div class="caption sft" data-x="495" data-y="48" data-speed="300" data-start="500" data-easing="easeOutExpo" >
            <h2>Flexible OFBiz Solutions, </h2>
          </div>
          <div class="caption sft" data-x="495" data-y="102" data-speed="300" data-start="700" data-easing="easeOutExpo" >
            <h2>choose yours...</h2>
          </div>
         
          <div class="caption sfl hidden-phone" data-x="495" data-y="176" data-speed="500" data-start="900" data-easing="easeOutBounce" >
            <h3><i class="icon-right-circle"></i>&nbsp;ERP with integrated E-Commerce</h3>
          </div>
          <div class="caption sfl hidden-phone" data-x="495" data-y="210" data-speed="500" data-start="1100" data-easing="easeOutBounce" >
            <h3><i class="icon-right-circle"></i>&nbsp;Manufacturing and Warehouse Management</h3>
          </div>
          <div class="caption sfl hidden-phone" data-x="495" data-y="244" data-speed="500" data-start="1300" data-easing="easeOutBounce" >
            <h3><i class="icon-right-circle"></i>&nbsp;CRM,Human Resources,WebPOS and much more </h3>
          </div>
        </li>
        <li data-transition="fade" data-slotamount="2"> <img src="images/slider/rs/thumb.png" alt="slide"/>
          <div class="caption lfl" data-x="450" data-y="130" data-speed="900" data-start="800" data-easing="easeOutBack"><img src="images/slider/rs/SalesOrder-SaphirTheme.png" alt="slide" class="ie8PngFix" style="max-width: 500px;"/></div>
          <div class="caption sft" data-x="50" data-y="60" data-speed="300" data-start="1600" data-easing="easeOutExpo" >
            <h2>The best things in life are free!</h2>
          </div>
          <div class="caption lfr hidden-phone" data-x="52" data-y="134" data-speed="500" data-start="1500" data-easing="easeInExpo" >
            <h3><i class="icon-right-circle"></i>&nbsp;Download and it's yours....free</h3>
          </div>
          <div class="caption lfr hidden-phone" data-x="52" data-y="168" data-speed="500" data-start="1700" data-easing="easeInExpo" >
            <h3><i class="icon-right-circle"></i>&nbsp;Enjoy the benefits and freedom</h3>
          </div>
          <div class="caption lfr hidden-phone" data-x="52" data-y="202" data-speed="500" data-start="1800" data-easing="easeInExpo" >
            <h3><i class="icon-right-circle"></i>&nbsp;No licensing fees....ever</h3>
          </div>
        </li>
      </ul>
      <div class="tp-bannertimer"></div>
    </div>
  </div>
</section>
<!-- slider -->
<!-- content -->
<!-- three blocs -->
  <section class="sliceTop">
    <div class="container">
      <div class="row">
        <div class="span12 drop-shadow lifted">
          <div class="topQuote">
            <h1> <strong>Apache OFBiz</strong> is a suite of business 
                applications flexible enough to be used across any industry.
               A common architecture allows developers to easily extend or
               enhance it to create custom features.
            </h1>
          </div>
          <div class="topBox clearfix">
            <div class="bigIconsColumnsWrapper">
              <article class="one_third"> <a href="" class="iconWrapper iconBig ch-item"> <i class=" icon-cog-alt"></i>
                   <div class="ch-info"> <span> Java </span> </div>
                </a>
                <h2 class="smallHeading"><span>Powerful Java Web Framework</span></h2>
                <p>
                  OFBiz is a Java based web framework including an entity engine,
                  a service engine and a widget based UI allowing you to
                  quickly prototype and develop your web application.
                </p>
              </article>
              <article class="one_third"> <a href="" class="iconWrapper iconBig ch-item"> <i class=" icon-th-list"></i>
                  <div class="ch-info"> <span> CRM & ERP </span> </div>
                </a>
                <h2 class="smallHeading">Mature CRM &  ERP Solution</h2>
                <p>An Apache top level project for  10 years, OFBiz has shown it's stability and maturity as an enterprise-wide 
                  ERP solution that is flexible enough to change with your business.</p>
              </article>
              <article class="one_third last"> <a href="" class="iconWrapper iconBig ch-item"> <i class=" icon-edit"></i>
                  <div class="ch-info"> <span> Develop </span> </div>
                </a>
                <h2 class="smallHeading">Developer Friendly</h2>
                <p>
                  OFBiz architecture is extremely flexible allowing developers
                  to quickly and easily extend and enhance the framework with
                  custom features.
                </p>
              </article>
            </div>
          </div>
        </div>
      </div>
    </div>
  </section>


 
  <!-- three blocs -->
  <!-- carousel works-->
  <section class="slice">
    <div class="container">
      <div class="row">
  	<div class="span12">
          <h2>Where to Start?</h2>
            <div class="divider"><span></span></div>
    		<p>Developer or Business User, getting started with OFBiz is easy!. We have a range of information about OFBiz modules and features as well as an online demo that you can try.</p>
    		<ul class="iconsList">
		<li><i class="icon-pin"></i> Developers can get started on our <a href="developers.html"><strong> Developers page</strong></a> </li>
        	<li><i class="icon-pin"></i> Business Users can get started on our <a href="business-users.html"><strong>Business Users page</strong></a> </li>
      		<li><i class="icon-pin"></i> To see what OFBiz looks like and how it works, please try our <a href="ofbiz-demos.html"><strong>Online Demos</strong></a></li>
    		</ul>
           </div> 

      <div class="span12">
       <h2>Features and Benefits</h2>
   	<div class="divider"><span></span></div>
      </div>
      <section class="span12 mb15">
      	<div class="row-fluid">
		<div class="span4">
       		<h3 class="mediumIconH3"><span class="iconWrapper iconMedium"><i class="icon-users" ></i></span> Modules</h3>
		<p>Apache OFBiz comes with a range of core modules out-of-the-box (OOTB) including:</p>
		<ol class="iconsList">
			<li><i class="icon-pin"></i> Accounting (GL,AR,AP,FA)</li>
			<li><i class="icon-pin"></i> CRM,Order Management & E-Commerce</li>
        		<li><i class="icon-pin"></i> Warehousing and Inventory</li>
       			<li><i class="icon-pin"></i> Manufacturing & MRP</li>
      		</ol>
    	</div>
       <div class="span4">
          <h3 class="mediumIconH3"><span class="iconWrapper iconMedium"><i class="icon-cog-alt"></i></span> Features</h3>
           <p>Apache OFBiz has a full set useful business features including:</p>
	 	<ol class="iconsList">
      			<li><i class="icon-pin"></i> Product & Catalog Management</li>
        		<li><i class="icon-pin"></i> Promotion & Pricing Management</li>
        		<li><i class="icon-pin"></i> Supply Chain Fulfillment</li>
        		<li><i class="icon-pin"></i> Contracts, Payments & Billing</li>
      		</ol>
	</div>
        <div class="span4">
          <h3 class="mediumIconH3"><span class="iconWrapper iconMedium"><i class="icon-resize-full-alt"></i></span> Benefits</h3>
          <p>There are a range of benefits associated with using Apache OFBiz including:.</p>
     		<ol class="iconsList">
        		<li><i class="icon-pin"></i> Free and open source - No upfront costs</li>
      			<li><i class="icon-pin"></i> Scalable, reliable enterprise solution</li>
        		<li><i class="icon-pin"></i> Fully Customisable</li>
        		<li><i class="icon-pin"></i> Flexible to grow with your business</li>
     		</ol>
        </div>
    </div>
	<p></p>
  	<p></p>
   	<p>If you are still unsure or have any questions then please feel free to use our <a href="//lists.apache.org/list.html?user@ofbiz.apache.org" target="external"><strong>User Mailing List</strong></a> </p>
  	</section>   

      </div>
    </div>
  </section>
  <!-- carousel works-->
<!-- Call to download action -->
  <section class="slice">
    <div  class="container">
      <div class="row-fluid callToActionBoxed">
        <div class="span7">
          <div class="ctaText">
            <h3>Go ahead and take OFBiz for a spin!</h3>
            <p>Download <strong>OFBiz</strong> and try it out for yourself.
             All you need is to install the Java Development Kit and then follow
              the instructions in the README file.</p>
          </div>
        </div>
        <div class="span5">
          <div class="btnWrapper">
            <a href="download.html" class="iconBtn" title="Download OFBiz">
              <i class="icon-download"></i>Download OFBiz 
            </a>
          </div>
        </div>
      </div>
    </div>
  </section>
  <!-- Call to download action -->

<!-- content -->
<!-- footer -->
<footer class="footer1">
  <div class="container" id="footer">
    <div class="row">
      <div class="span6 timelineWidget">
        <h2>Latest tweets</h2>
        <!--
        <div class="divider"><span></span></div>
        <ul class="socialNetwork nav">
          <li>
            <a href="//twitter.com/ApacheOfbiz" class="icon-twitter-bird socialIcon tips"
              target="external" title="follow us on Twitter"><span>twitter</span></a>
          </li>
          <li><a href="//www.youtube.com/user/ofbiz" class="icon-play socialIcon tips"  title="follow us on Youtube"><span>Youtube</span></a></li>
          <li><a href="//www.facebook.com/Apache-OFBiz-1478219232210477/?ref=page_internal" class="icon-facebook socialIcon tips"  title="follow us on Facebook"><span>facebook</span></a></li>
          <li><a href="#" class="icon-rss socialIcon tips"  title="Our rss feed"><span>rss feed</span></a></li>
          <li><a href="#" class="icon-gplus socialIcon tips"  title="follow us on Google +"><span>google +</span></a></li>
          <li><a href="#" class="icon-instagram socialIcon tips"  title="follow us on Instagram"><span>instagram</span></a></li>
          <li><a href="#" class="icon-linkedin socialIcon tips"  title="follow us on Linkedin"><span>linkedin</span></a></li>
          <li><a href="#" class="icon-pinterest-circled socialIcon tips"  title="follow us on Pinterest"><span>Pinterest</span></a></li>
        </ul>
        -->
        <div id="twitterFrame"> <a class="twitter-timeline" href="//twitter.com/ApacheOfbiz?height=250" data-widget-id="588661945194192896"  data-tweet-limit="2" data-theme="dark" data-chrome="nofooter noheader transparent" >Tweets by @ApacheOfbiz</a>
          <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
        </div>
      </div>
      <div class="span3 contactWidget">
        <h2>Contact Community</h2>
        <div class="divider"><span></span></div>
        <ul>
          <li><a href="mailing-lists.html">Mailing Lists</a></li>
          <li><a href="source-repositories.html">Source Repository (Git)</a></li>
          <li><a href="//issues.apache.org/jira/browse/OFBIZ" target="external">Issue Tracker (Jira)</a></li>
          <li><a href="//www.youtube.com/user/ofbiz" target="external">OFBiz Youtube Channel</a></li>
          <li><a href="//vimeo.com/channels/apacheofbiz" target="external">OFBiz Vimeo Channel</a></li>
          <li>
            <a href="//s.apache.org/ofbiz-slack-channel" target="external">OFBiz Chat</a><br/>
            <span class="footer-note">
              Note: To chat with users and developers of Apache OFBiz.
              <br>Please create a Slack account using <a href="//s.apache.org/slack-invite" target="external">this invite link</a> and
              <a href="//s.apache.org/ofbiz-slack-channel" target="external">join the <b>#ofbiz channel</b>.</a>
              Please do <b>not</b> ask OFBiz questions in the #general channel.
            </span>
          </li>
        </ul>
      </div>
      <div class="span3 sociallWidget">
        <h2>ASF Information</h2>
        <div class="divider"><span></span></div>
        <ul>
          <li><a href="https://www.apache.org/foundation/" target="external">Apache Software Foundation</a></li>
          <li><a href="https://www.apache.org/events/current-event" target="external">Events</a></li>
          <li><a href="https://www.apache.org/foundation/sponsorship.html" target="external">Sponsorship</a>
          		and <a href="https://www.apache.org/foundation/contributing.html" target="external">Donations</a>
          </li>
          <li><a href="https://www.apache.org/foundation/thanks.html" target="external">Thanks</a></li>
          <li><a href="https://ofbiz.apache.org/security.html">Security</a></li>
          <li><a href="https://www.apache.org/licenses/" target="external">License</a></li>
        </ul>
      </div>
    </div>
  </div>
</footer>
<footer class="footer2" id="footerRights">
  <div class="container">
    <div class="row">
      <div class="span12">
        <p>
          Copyright © 2020 The Apache Software Foundation.
          <a href="https://www.apache.org/licenses/" target="external">Licensed under the  Apache License, Version 2.0</a>.<br/>
          Apache OFBiz, OFBiz, the project logo and the Apache feather logo are trademarks of <a href="https://www.apache.org/" target="external">The Apache Software Foundation.</a>
        </p>
      </div>
    </div>
  </div>
</footer>
<!-- footer -->
</div>
<!-- globalWrapper -->
<script type="text/javascript" src="js/plugins/respond/respond.min.js"></script>
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="js/plugins/jquery-ui/jquery-ui-1.8.23.custom.min.js"></script>
<!-- third party plugins  -->
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap-carousel.js"></script>
<script type="text/javascript" src="js/plugins/easing/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="js/plugins/pretty-photo/js/jquery.prettyPhoto.js"></script>
<script type="text/javascript" src="js/plugins/hoverdir/jquery.hoverdir.js"></script>
<!-- jQuery KenBurn Slider  -->
<script type="text/javascript" src="js/plugins/rs-plugin/js/jquery.themepunch.plugins.min.js"></script>
<script type="text/javascript" src="js/plugins/rs-plugin/js/jquery.themepunch.revolution.min.js"></script>
<!-- Custom  -->
<script type="text/javascript" src="js/custom.js"></script>
<script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', UA]);
    _gaq.push(['_trackPageview']);

    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>
</body>
</html>
