<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Atman Rathod</title>
    <description>The latest articles on Forem by Atman Rathod (@rathodatman).</description>
    <link>https://forem.com/rathodatman</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F122293%2F2464e216-62b1-4961-a853-a15806be8fbe.jpg</url>
      <title>Forem: Atman Rathod</title>
      <link>https://forem.com/rathodatman</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rathodatman"/>
    <language>en</language>
    <item>
      <title>Integrate QuickBooks Desktop in Application</title>
      <dc:creator>Atman Rathod</dc:creator>
      <pubDate>Mon, 07 Jan 2019 10:50:54 +0000</pubDate>
      <link>https://forem.com/rathodatman/integrate-quickbooks-desktop-in-application-3caf</link>
      <guid>https://forem.com/rathodatman/integrate-quickbooks-desktop-in-application-3caf</guid>
      <description>&lt;p&gt;In the different process of businesses, managing expenses, sales and keeping track of daily transactions is one of the primary and indispensable tasks that cannot be ignored. When the word is about accounting, it’s certain that entrepreneurs would have come across term QuickBooks, but wondering what it is and how it is used? Well, the blog is right to read for you.&lt;/p&gt;

&lt;p&gt;&lt;b&gt; Lights On The Term ‘QUICKBOOKS’&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;QuickBooks helps you to uncover the ease of managing finance. It is one of the &lt;a href="https://www.cmarix.com/everything-know-quickbooks/"&gt; best business accounting software developed &lt;/a&gt; by Intuit to simplify complex financial operations like budgeting, payroll, expense tracking, inventory,  sales and more than enterprise needs.&lt;/p&gt;

&lt;p&gt;&lt;b&gt; “Stress Less Over The Paper Mess With Smart Invoicing Solution - QuickBooks” &lt;b&gt; &lt;/b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;QuickBooks help you to make effective use of time by automatically managing the bookkeeping and paperwork of invoicing. QuickBooks &lt;a href="http://www.cmarix.com/finance-and-banking-enterprise-product-developement.html/"&gt; automates most of the accounting process &lt;/a&gt; like calculating sales tax, tracking products and automatically updating transactions. Presently, QuickBooks is providing two versions online and desktop. QuickBooks Desktop is a software to be installed on the office desktop computer. And, QuickBooks online is a cloud-based subscription service that enables you to work from anywhere, anytime and from any device. However, QuickBooks Desktop still holds a major advantage, as managing large amounts of inventory and job costing is done easily.  &lt;/p&gt;

&lt;p&gt;The integration of both versions online and desktop is done in a different way. The integration of QuickBooks online is done via OAuth, while the integration of QuickBooks desktop is done with help of SDKs available. &lt;/p&gt;

&lt;p&gt;&lt;b&gt; Let’s Uncover The Facts About QuickBooks Desktop Integration &lt;/b&gt; &lt;/p&gt;

&lt;p&gt;The integration of QuickBooks desktop is done with the help of already available SDKs by QuickBooks itself.  The application that will be integrated with QuickBooks desktop will run on the same machine or in local area network. The application will communicate with QuickBooks Desktop through QBXML. QBXML is specially developed to communicate with QuickBooks Desktop from the application.&lt;/p&gt;

&lt;p&gt;We know that with the help of QuickBooks desktop SDKs, we can easily connect the applications to QuickBooks Desktop, and can read/write date from/to desktop. As discussed above, the communication between QuickBooks Desktop and our application is handled through QBXML format. Hence, in order to connect with desktop, we need to do the process of reading data from QuickBooks desktop and writing data to QuickBooks desktop. For that to occur, we need to send the message to QuickBooks Desktop in QBXML formal and receive the message from QuickBooks Desktop in QBXML formal. &lt;/p&gt;

&lt;p&gt;QuickBooks Desktop SDKs allows our applications to read/write data from/in the local environment as shown in below picture:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2c8m7Iw3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/dqb48asrtbn95q16ldsu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2c8m7Iw3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/dqb48asrtbn95q16ldsu.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt; Steps To Integrate QuickBooks Desktop &lt;/b&gt; &lt;/p&gt;

&lt;p&gt;So after understanding the concept of integration, you must be wondering how you can do that. Follow these few steps that you need to do for integrating QuickBooks Desktop to the application: &lt;/p&gt;

&lt;p&gt;1.QuickBooks is an accounting software provided by Intuit. So in order to start managing QuickBooks, you need to have an account on Intuit. Hence the first step is to create an Intuit Developer account, and you can do that by accessing this URL: &lt;a href="https://developer.intuit.com/app/developer/homepage"&gt;https://developer.intuit.com/app/developer/homepage&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Xkqig6VX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/jssa2okouyl0smrn42rm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Xkqig6VX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/jssa2okouyl0smrn42rm.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.Hopefully, you have created your developer account. Once you do that, in order to access QuickBooks SDKs, you need to download them with the help of this URL:&lt;br&gt;
&lt;a href="https://developer.intuit.com/app/developer/qbdesktop/docs/get-started/download-and-install-the-sdk"&gt;https://developer.intuit.com/app/developer/qbdesktop/docs/get-started/download-and-install-the-sdk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you be on the given page, you will find the link to download the SDKs. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kR82SeL---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/br1kua3nat75mu2uxlb7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kR82SeL---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/br1kua3nat75mu2uxlb7.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Once you have successfully downloaded the QuickBooks Desktop SDKs, you need to install it to your system where you are going to develop your application. Ensure you follow the points given in the picture:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LR820aR3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/784kpcu5770rtkj0huoy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LR820aR3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/784kpcu5770rtkj0huoy.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Now the next step is to create a sample application where you want to integrate QuickBooks Desktop SDKs. &lt;/p&gt;

&lt;p&gt;5.Once you have created the sample application you need to follow this path: &lt;br&gt;
C:\Program Files (x86)\Intuit\QuickBooks 2017\Interop.QBXMLRP2Lib.dll, copy this DLL and paste into your sample application.&lt;/p&gt;

&lt;p&gt;6.Add reference of this DLL (Dynamic Link Library) into your application. Instead of copy pasting DLL into your application and assigning a reference of DLL from your application, you can directly provide a reference of DLL from the original source as well. But if you move your application into a different system then probably you may face an issue related to this reference.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--091_lFwB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/qj8pjwfk9b1b53wmcxpl.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--091_lFwB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/qj8pjwfk9b1b53wmcxpl.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;7.In order to connect your application with QuickBooks Desktop, you need to create its object and need to provide QB Company file path. Once you do that you need to open a connection. &lt;/p&gt;

&lt;p&gt;RequestProcessor2 request = new RequestProcessor2();&lt;br&gt;
request.OpenConnection2("","TestQuickBook", QBXMLRPConnectionType.localQBD);&lt;br&gt;
string ticket = request.BeginSession(@"C:\Users\Public\Documents\Intuit\QuickBooks\Company Files\QBCompanyFile.qbw", QBFileMode.qbFileOpenDoNotCare);&lt;/p&gt;

&lt;p&gt;Here, &lt;br&gt;
RequestProcessor2 is the object of DLL which will help us to interact with QuickBooks Desktop from our application.&lt;/p&gt;

&lt;p&gt;TestQuickBook is the name of your application.&lt;/p&gt;

&lt;p&gt;The first parameter of BeginSession is the path of your company file.&lt;br&gt;
QBCompanyFile.qbw is the file name of your company file.&lt;/p&gt;

&lt;p&gt;8.When you will run the above code for the first time, you have to keep QuickBooks Desktop running because it will ask for read/write permission to the above provided company file. The prompt will appear something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oedcg8FL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/1y6dyt242rnjashk7qkz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oedcg8FL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/1y6dyt242rnjashk7qkz.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, you have to choose an option based on your preference. In general, you have to choose last option “Yes, always; allow access even if QuickBooks is not running”. By choosing this option, your application will not be dependent on, whether your QuickBooks is running or not. Once you continue in the above step by choosing the appropriate option, you will get a confirmation prompt from QuickBooks Desktop like this:&lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>quickbook</category>
      <category>angular</category>
      <category>enterprise</category>
    </item>
    <item>
      <title>How to Overcome The Challenges Of Offshore Development?</title>
      <dc:creator>Atman Rathod</dc:creator>
      <pubDate>Tue, 18 Dec 2018 09:48:00 +0000</pubDate>
      <link>https://forem.com/rathodatman/how-to-overcome-the-challenges-of-offshore-development-2ffh</link>
      <guid>https://forem.com/rathodatman/how-to-overcome-the-challenges-of-offshore-development-2ffh</guid>
      <description>&lt;p&gt;For bringing the input of new developer talents companies go for offshore development. It allows companies to be benefited directly by the pull of technical talents available in many parts of the globe. Obviously, a vast majority of leading tech companies depend on offshore development model to boost their talent pool. But that doesn't prevent the small companies and startups from jumping on the bandwagon of &lt;a href="https://en.wikipedia.org/wiki/Offshore_custom_software_development/"&gt;offshore development&lt;/a&gt;. For all those companies looking forward to scaling up development resources and innovation to get a clear competitive lead, an offshore development model is a valid choice.&lt;/p&gt;

&lt;p&gt;To get an offshore team onboard and make it continuously adding value to your &lt;a href="https://www.cmarix.com/guide-to-pursue-devops-agile-development-cycle/"&gt;software development process&lt;/a&gt;, you need to make your strategy perfect and you need to be well aware of the common challenges faced by other companies and respective remedies.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;Understanding The Challenges For Offshore Development&lt;/h3&gt;

&lt;p&gt;There are several misconceptions about offshore development. Many companies believe that to start with offshore development one needs to invigorate the in-house development process. There are still other companies who believe you need a large development team with several project managers ready to work in collaboration with the offshore team. In reality, you only need to communicate the &lt;a href="https://dev.to/ryanmiller/tips-and-tricks-for-enterprise-mobile-app-development-in-2018-4m1j"&gt;best development practices&lt;/a&gt; to your offshore team. Your offshore team should be clearly communicated about the required code quality, documentation and collaboration practices for the projects well in advance.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Here are the important tenets for your offshore development process. &lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Best development practices concerning code quality, collaboration and documentation should be laid out in advance.&lt;/li&gt;
&lt;li&gt;There should dedicated project manager to look after the offshore development projects.&lt;/li&gt;
&lt;li&gt;You need to decide about the communication tools for your offshore projects well in advance. If you need to use any particular communication tool or virtual office tool, you should test the tool and fix the protocols of communication to prevent disorder and chaos later.&lt;/li&gt;
&lt;li&gt;To ensure &lt;a href="https://dev.to/juliatorrejon/how-would-you-define-high-quality-code-467d"&gt;higher code quality&lt;/a&gt; and to ensure consistent coding standard across both in-house and offshore teams it is advisable to organise joint programming sessions.&lt;/li&gt;
&lt;li&gt;It is always advisable to start with a small developer team made up of extraordinary developer talents and then slowly build the team gradually around this nucleus.&lt;/li&gt;
&lt;li&gt;Instead of isolating offshore team from your regular development teams, include them in the process and delegate them tasks to work in collaboration with on-site developers.&lt;/li&gt;
&lt;li&gt;Finally, you need to have a long-term strategy to develop the skills of offshore and build them as the invaluable creative assets of the company.&lt;/li&gt;
&lt;li&gt;Last but not the least of all considerations is how you build offshore development team. You can hire an offshore agency with a credible track record of managing offshore projects in that country of choice. You can also hire independent developers and delegate projects. Or else, you can make your own presence with an offshore development facility. While the first one is a more reliable and least expensive option, the last option is highly effective but a cost-intensive one. The middle path of working with freelance offshore developers often lacks quality assurance unless you are hiring industry-acclaimed developers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;Common Challenges And Remedies&lt;/h3&gt;

&lt;p&gt;When you are new to offshore development, you need to deal with several pain points, inconveniences and roadblocks in every project. But over time, you get to know the remedies of dealing with these challenges. This is why it is good to know the challenges faced by the majority of companies running several offshore projects and accordingly prepare the assets and processes to deal with them.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Here are some of the key challenges and remedies to help offshore development projects.&lt;/u&gt; &lt;br&gt;&lt;br&gt;&lt;/p&gt;

&lt;h4&gt;Different Working Hours&lt;/h4&gt;

&lt;p&gt;Developer teams located across different time zones often find it hard to collaborate and communicate at a given time. Different working hours based on the various time zones and local time of the respective countries remains a key problem for offshore projects. Often this requires the developers to work late at night or sometimes, unintended delay in support or feedback.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Consider the overlapping working hour well in advance for the respective offshore locations.&lt;/li&gt;
&lt;li&gt;At least accommodate a couple of overlapping hours over and above the working hour to accommodate offshore communication.&lt;/li&gt;
&lt;li&gt;Schedule alternate timing for project managers and developers working with the offshore development team.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Language And Cultural Differences&lt;/h4&gt;

&lt;p&gt;In development projects where continuous and steady communication is a necessity, the differences corresponding to the language and culture make a big roadblock. While quality communication barring the language and cultural differences is very important for great development output, you need to have an effective plan to achieve this. Here are some effective tips.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use a common communication language and tool that the vendor and &lt;a href="https://www.cmarix.com/hire-dedicated-developers.html"&gt;offshore developers&lt;/a&gt; find easy and engaging.&lt;/li&gt;
&lt;li&gt;Assess the communication skill of the vendor and the offshore developers and take onboard the ones who can effectively communicate.&lt;/li&gt;
&lt;li&gt;Plan social and cultural activities to allow more sharing space and bonding of individuals.&lt;/li&gt;
&lt;li&gt;Try to nurture teams that have similar engineering value and philosophy.&lt;/li&gt;
&lt;li&gt;Make the offshore team feel as organic part of your development process and not a secluded one.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Development Quality&lt;/h4&gt;

&lt;p&gt;Maintaining a high standard of quality for applications and software products is one of the most aching concerns for companies into offshore development. The problem can be ascribed to several contributing factors including communication gap among developers, lack of understanding, the absence of a common coding standard and non-implementation of best practices. The quality issues are also common with vendors having less-experienced and less-skilled developers. Here are a few effective tips to deal with this.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Only take offshore vendors having proven credentials in Agile development, Test-Driven Development and Continuous Delivery.&lt;/li&gt;
&lt;li&gt;Make sure you employ the most suitable resources for evaluating the vendor and the offshore development team. In case you lack such resources, take help from an offshore hiring agency with the trusted evaluation process.&lt;/li&gt;
&lt;li&gt;Make sure you have a robust and well-equipped quality assurance process in place to evaluate the output of both your offshore and on-site teams.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Meeting The Common Expectations&lt;/h4&gt;

&lt;p&gt;The gross qualitative parameters often differ as per expectations. When the vendor and the company are grounded on the common expectations, the opinions about the user interface, user experience and security becomes more consistent. When undertaking an offshore project, it is important for both the company and the vendor to share such a common ground if expectation. Here are a few useful tips to ensure this.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the beginning, make sure to have detailed documentation regarding the expected output concerning each and every aspect of the software product.&lt;/li&gt;
&lt;li&gt;Always insist on meeting the gross value standard and quality parameters as specified in the beginning then just focusing only on the intricate details.&lt;/li&gt;
&lt;li&gt;Make sure that the developer teams work together closely with the common ground if expectations and objectives.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;As our globe tends to bring people and professionals closer with digital communication and as the workplace is increasingly overlapping the boundaries of location, time and space, as a collaborative work with development team members spread across several locations became a reality, the dividing line between on-site and offshore development will continue to get blurred. More we get used to this new workplace, less we will feel such challenges to offshore development. tags: software development, offshore development, website development, mobile app development, challenges&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>docker</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
