Web Based Accounting Published on Cocoa Village Publishing (https://cocoavillagepublishing.com)

Web Based Accounting

Some research notes about web based accounting programs for personal or small business use.

PBooks, http://www.pbooks.org/pub/

Pbooks is an open-source, php-based accounting and bookkeeping system. It is designed for use by small business, and uses the double-entry accounting model. Licensed under the Affero GPL v3, beta versions are available for download today, or you can view a public demo accessible from our website. While the software is somewhat mature and fully featured, the open-source project is in active development as of Q4 2008.

QuickInvoice, http://sourceforge.net/projects/quickinvoice/ PHP invoicing system supporting up to 10 items, quantity and unit pricing, two levels (both optional) of tax, and optional shipping and/or handling. Simple and effective, emails invoices and reminders to customers, processes payments by cheque or by PayP Not really for simple accounting, but invoicing?

MyPBS, http://my-pbs.sourceforge.net/ MyPBS is an accounting package designed to address the void in per-user/per-project accounting mechanisms for high performance computing (HPC) centers. The software package can address such issues as projects, queue price weights, per-user project permissions, and much more.

PHP Accounts, http://phpaccounts.com/ PHP Accounts is an open source web based accounts system that can be used to generate PDF invoices, log with the timesheet wizard, send reminders via email, create cashflow reports, and much more.

webERP, http://www.weberp.org/ webERP is a complete web based accounting/ERP system that requires only a web-browser and pdf reader to use. It has a wide range of features suitable for many businesses particularly distributed businesses in wholesale and distribution. It is developed as an open-source application and is available as a free download to use. The feature set is continually expanding as new businesses and developers adopt it. An ERP is more than bookkeeping.

OFBiz, http://ofbiz.apache.org/ Not sure this would be "small". The Apache OFBiz [1] (www.ofbiz.org [1]) is an open source framework for building business applications. The OFBiz Framework is a pre-integrated Java Cocoa Florida Page 1 of 3 // Enter your longitude and latitude, // (use negative longitude value for WEST), // (use negative latitude value for SOUTH) // example for Cocoa Florida $lat = 28.36; // North $long = -80.78; // West // note for date_sunrise function, // Because of daylight savings, the offset changes, so rather than static value... // set the offset to zero, then use default for date to convert final answer to your timezone // instead of SUNFUNCS_RET_STRING use SUNFUNCS_RET_TIMESTAMP and take resulting $offset = 0; date_default_timezone_set('America/New_York'); // Note that twilight is a different zenith variable: //`Zenith' is the angle that the centre of the Sun makes to a line perpendicular to the Earth's surface. // The best Overall figure for zenith is 90+(50/60) degrees for true sunrise/sunset // Civil twilight 96 degrees - Conventionally used to signify twilight // Nautical twilight 102 degrees - the point at which the horizon stops being visible at sea. // Astronical twilight at 108 degrees - the point when Sun stops being a source of any illumination. $zenith=90+50/60; $twilightzenith=96; // today time $nowTime=time(); // tomorrow time $tomorrowTime=strtotime(date("Y-m-d", $nowTime) . " +1 day"); $sunStartTimeStamp=date_sunrise($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset); $sunStartTime=date("h:i", date_sunrise($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ); $sunEndTimeStamp=date_sunset($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ; $sunEndTime=date("h:i", date_sunset($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ); $darkEndTimeStamp=date_sunrise($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset); $darkEndTime=date("h:i", date_sunrise($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset) ); $darkStartTimeStamp=date_sunset($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset); $darkStartTime=date("h:i", date_sunset($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset) ); // now calculate for next day... //$time2=strtotime(date("Y-m- d", time()) . " +1 day"); $sunStartTime2=date("h:i", date_sunrise($tomorrowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ); $sunEndTime2=date("h:i", date_sunset($tomorrowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ); $darkEndTime2=date("h:i", date_sunrise($tomorrowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset) ); $darkStartTime2=date("h:i", date_sunset($tomorrowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset) ); echo ""; // Determine time and if case today or tomorrow for display // if now is before sunrise, then show all today // if now is after sunrise but before sunset, then show sunset/dark today, dawn/sunrise tomorrow // if now is after darkhour, then show all tomorrow if ($nowTime < $sunStartTimeStamp){ // show all today not tomorrow echo "

Today, ".date("F j, Y")." - "; echo "Dawn: $darkEndTime A.M."; echo " "; echo "Sunrise: $sunStartTime A.M."; echo " "; echo "Sunset: $sunEndTime P.M."; echo " "; echo "Dark: $darkStartTime P.M."; echo "

"; } elseif ($nowTime >= $darkStartTimeStamp) { // show all tomorrow echo "

Tomorrow, ".date("F j, Y",$tomorrowTime)." - "; echo "Dawn: $darkEndTime2 A.M."; echo " "; echo "Sunrise: $sunStartTime2 A.M."; echo " "; echo "Sunset: $sunEndTime2 P.M."; echo " "; echo "Dark: $darkStartTime2 P.M."; echo "

"; } else { // show sunset/dusk for today and dawn/sunrise for tomorrow echo "

Today, ".date("F j, Y")." - "; echo "Sunset: $sunEndTime P.M."; echo " "; echo "Dark: $darkStartTime P.M."; echo " "; echo "Tomorrow, ".date("F j, Y",$tomorrowTime)." - "; echo " "; echo "Dawn: $darkEndTime2 A.M."; echo " "; echo "Sunrise: $sunStartTime2 A.M."; echo "

"; } echo ""; Web Based Accounting Published on Cocoa Village Publishing (https://cocoavillagepublishing.com)

infrastructure stack built with open source projects such as Apache Tomcat [2], Freemarker [3], Derby [4], and beanshell [5]. The OFBiz Framework implements design patterns such as Model- View-Controller, Service Oriented Architecture, and database-independent persistence layer. Allow existing or custom-developed applications to be added by dropping into a components- based architecture.

BADGER, http://www.badger-finance.org/ BADGER finance is an open source financial management application for end users. It is written in php, ajax and . The goal is to regain control over your personal financial situation. BADGER is free software in the sense of the GNU GPL license. It does not appear to be very active and may not be applicable for simple accounting.

SQL-Ledger, http://www.sql-ledger.com/ SQL-Ledger® ERP is a double entry accounting/ERP system. Accounting data is stored in a SQL database server, for the display any text or GUI browser can be used. The entire system is linked through a chart of accounts. Each item in inventory is linked to income, expense, inventory and tax accounts. When items are sold and purchased the accounts are automatically updated. Looks mature, but uses PostgreSQL or Oracle, not MySQL!

LedgerSMB, http://www.ledgersmb.org/ LedgerSMB is a fork of a popular general ledger software package called SQL-Ledger [6] largely written and maintained by Dieter Simader. Source is hosted on SourceForge. Used Postgre not MySQL!

phpOrganization, http://www.phporg.net/ Their website does not seem to be up properly as of 1/2009.

phpCOIN, http://www.phpcoin.com/ a free WebWare package originally designed for web-hosting resellers to handle clients, orders, invoices, notes and helpdesk, but no longer limited to hosting resellers.

BambooINVOICE, http://bambooinvoice.org/ BambooInvoice [7] is free Open Source invoicing software intended for small businesses and independent contractors. Our number one priorities are ease of use, user-interface, and beautiful code. Does not appear to do simple bookkeeping, more for invoicing?

Source URL: https://cocoavillagepublishing.com/node/96#comment-0

Links [1] http://www.ofbiz.org/ Cocoa Florida Page 2 of 3 // Enter your longitude and latitude, // (use negative longitude value for WEST), // (use negative latitude value for SOUTH) // example for Cocoa Florida $lat = 28.36; // North $long = -80.78; // West // note for date_sunrise function, // Because of daylight savings, the offset changes, so rather than static value... // set the offset to zero, then use default for date to convert final answer to your timezone // instead of SUNFUNCS_RET_STRING use SUNFUNCS_RET_TIMESTAMP and take resulting $offset = 0; date_default_timezone_set('America/New_York'); // Note that twilight is a different zenith variable: //`Zenith' is the angle that the centre of the Sun makes to a line perpendicular to the Earth's surface. // The best Overall figure for zenith is 90+(50/60) degrees for true sunrise/sunset // Civil twilight 96 degrees - Conventionally used to signify twilight // Nautical twilight 102 degrees - the point at which the horizon stops being visible at sea. // Astronical twilight at 108 degrees - the point when Sun stops being a source of any illumination. $zenith=90+50/60; $twilightzenith=96; // today time $nowTime=time(); // tomorrow time $tomorrowTime=strtotime(date("Y-m-d", $nowTime) . " +1 day"); $sunStartTimeStamp=date_sunrise($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset); $sunStartTime=date("h:i", date_sunrise($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ); $sunEndTimeStamp=date_sunset($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ; $sunEndTime=date("h:i", date_sunset($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ); $darkEndTimeStamp=date_sunrise($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset); $darkEndTime=date("h:i", date_sunrise($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset) ); $darkStartTimeStamp=date_sunset($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset); $darkStartTime=date("h:i", date_sunset($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset) ); // now calculate for next day... //$time2=strtotime(date("Y-m- d", time()) . " +1 day"); $sunStartTime2=date("h:i", date_sunrise($tomorrowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ); $sunEndTime2=date("h:i", date_sunset($tomorrowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ); $darkEndTime2=date("h:i", date_sunrise($tomorrowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset) ); $darkStartTime2=date("h:i", date_sunset($tomorrowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset) ); echo ""; // Determine time and if case today or tomorrow for display // if now is before sunrise, then show all today // if now is after sunrise but before sunset, then show sunset/dark today, dawn/sunrise tomorrow // if now is after darkhour, then show all tomorrow if ($nowTime < $sunStartTimeStamp){ // show all today not tomorrow echo "

Today, ".date("F j, Y")." - "; echo "Dawn: $darkEndTime A.M."; echo " "; echo "Sunrise: $sunStartTime A.M."; echo " "; echo "Sunset: $sunEndTime P.M."; echo " "; echo "Dark: $darkStartTime P.M."; echo "

"; } elseif ($nowTime >= $darkStartTimeStamp) { // show all tomorrow echo "

Tomorrow, ".date("F j, Y",$tomorrowTime)." - "; echo "Dawn: $darkEndTime2 A.M."; echo " "; echo "Sunrise: $sunStartTime2 A.M."; echo " "; echo "Sunset: $sunEndTime2 P.M."; echo " "; echo "Dark: $darkStartTime2 P.M."; echo "

"; } else { // show sunset/dusk for today and dawn/sunrise for tomorrow echo "

Today, ".date("F j, Y")." - "; echo "Sunset: $sunEndTime P.M."; echo " "; echo "Dark: $darkStartTime P.M."; echo " "; echo "Tomorrow, ".date("F j, Y",$tomorrowTime)." - "; echo " "; echo "Dawn: $darkEndTime2 A.M."; echo " "; echo "Sunrise: $sunStartTime2 A.M."; echo "

"; } echo ""; Web Based Accounting Published on Cocoa Village Publishing (https://cocoavillagepublishing.com)

[2] http://jakarta.apache.org/tomcat/ [3] http://freemarker.sourceforge.net/ [4] http://incubator.apache.org/derby/ [5] http://www.beanshell.org/ [6] http://www.sql-ledger.com/ [7] http://bambooinvoice.org/

Cocoa Florida Page 3 of 3 // Enter your longitude and latitude, // (use negative longitude value for WEST), // (use negative latitude value for SOUTH) // example for Cocoa Florida $lat = 28.36; // North $long = -80.78; // West // note for date_sunrise function, // Because of daylight savings, the offset changes, so rather than static value... // set the offset to zero, then use default for date to convert final answer to your timezone // instead of SUNFUNCS_RET_STRING use SUNFUNCS_RET_TIMESTAMP and take resulting $offset = 0; date_default_timezone_set('America/New_York'); // Note that twilight is a different zenith variable: //`Zenith' is the angle that the centre of the Sun makes to a line perpendicular to the Earth's surface. // The best Overall figure for zenith is 90+(50/60) degrees for true sunrise/sunset // Civil twilight 96 degrees - Conventionally used to signify twilight // Nautical twilight 102 degrees - the point at which the horizon stops being visible at sea. // Astronical twilight at 108 degrees - the point when Sun stops being a source of any illumination. $zenith=90+50/60; $twilightzenith=96; // today time $nowTime=time(); // tomorrow time $tomorrowTime=strtotime(date("Y-m-d", $nowTime) . " +1 day"); $sunStartTimeStamp=date_sunrise($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset); $sunStartTime=date("h:i", date_sunrise($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ); $sunEndTimeStamp=date_sunset($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ; $sunEndTime=date("h:i", date_sunset($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ); $darkEndTimeStamp=date_sunrise($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset); $darkEndTime=date("h:i", date_sunrise($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset) ); $darkStartTimeStamp=date_sunset($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset); $darkStartTime=date("h:i", date_sunset($nowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset) ); // now calculate for next day... //$time2=strtotime(date("Y-m- d", time()) . " +1 day"); $sunStartTime2=date("h:i", date_sunrise($tomorrowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ); $sunEndTime2=date("h:i", date_sunset($tomorrowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $zenith, $offset) ); $darkEndTime2=date("h:i", date_sunrise($tomorrowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset) ); $darkStartTime2=date("h:i", date_sunset($tomorrowTime, SUNFUNCS_RET_TIMESTAMP, $lat, $long, $twilightzenith, $offset) ); echo ""; // Determine time and if case today or tomorrow for display // if now is before sunrise, then show all today // if now is after sunrise but before sunset, then show sunset/dark today, dawn/sunrise tomorrow // if now is after darkhour, then show all tomorrow if ($nowTime < $sunStartTimeStamp){ // show all today not tomorrow echo "

Today, ".date("F j, Y")." - "; echo "Dawn: $darkEndTime A.M."; echo " "; echo "Sunrise: $sunStartTime A.M."; echo " "; echo "Sunset: $sunEndTime P.M."; echo " "; echo "Dark: $darkStartTime P.M."; echo "

"; } elseif ($nowTime >= $darkStartTimeStamp) { // show all tomorrow echo "

Tomorrow, ".date("F j, Y",$tomorrowTime)." - "; echo "Dawn: $darkEndTime2 A.M."; echo " "; echo "Sunrise: $sunStartTime2 A.M."; echo " "; echo "Sunset: $sunEndTime2 P.M."; echo " "; echo "Dark: $darkStartTime2 P.M."; echo "

"; } else { // show sunset/dusk for today and dawn/sunrise for tomorrow echo "

Today, ".date("F j, Y")." - "; echo "Sunset: $sunEndTime P.M."; echo " "; echo "Dark: $darkStartTime P.M."; echo " "; echo "Tomorrow, ".date("F j, Y",$tomorrowTime)." - "; echo " "; echo "Dawn: $darkEndTime2 A.M."; echo " "; echo "Sunrise: $sunStartTime2 A.M."; echo "

"; } echo "";