Licensed Attorney (D.C., N.C.) & Licensed Customs Broker - practice limited to Trade and Customs Compliance, Export Controls and Sanctions.
While sourcing a new product from China, one of the important things to consider is whether that product violates anyone else's intellectual property. Customs can hold up an import consignment at the port, for investigation and action, if there is a complaint by the IP owner that their IP is violated by the imported product. I can talk to you more about the checks needed to be done prior to entering into a contract for importing goods from China. If you require legal advice, you will need to consult a licensed attorney.
If the goods require a license for export, exporting them without a license may be a violation and may attract fines, penalties and other action as provided under the applicable law. There is not enough information in the question to answer your question but this is a general guideline. The first step would be to classify the goods correctly, determine the licensing requirements, if any, and file necessary applications to obtain the required licenses, if any, prior to export. You may also need to verify the import formalities in the US.
The information provided is not detailed or precise enough to answer your question and this is not to be treated as legal advice. However, in general, issues such as these arise when the client is not certain about the source of the code used in development of the software. Software developers often use open source and other third party code as components in developing the software. The source code is compiled and what you are providing to your client is only the executable program under the terms of a user license which gives them the right to use the software in their business.
As they do not have any access to the source code, they may not have the means to verify your source code origins and therefore they are not certain whether you have infringed any third party's intellectual property ownership in your code development. As such they do not wish to take on any liabilities that may arise from any potential infringement of a third party's IP rights in the development of your software.
While it is true that they are only the user and you are the developer and any primary responsibility for violation of IP rights would be that of the developer rather than the user, since you appear to be a small company, a potential litigant is likely to involve them in litigation due to their deeper pockets. Litigation is very expensive and only makes sense if a party with deep pockets is involved from whom recovery can be made. Therefore they need to eliminate or manage their risk of being subject to liability from the risk of litigation involving IP rights in your software and its components.
There are ways to manage such risks. Taking insurance to cover your specific risks (make sure to read the fine print in any insurance policy including its limitations and exclusions clauses) and adding the cost of its premium would be one approach as Ms. Pearson has suggested above. Making the terms of the indemnity very specific would be another. There may be other approaches but we would need more details to explore various options to manage the risk effectively. It would be best to seek legal advice and provide full details of your situation.
Please note that this is not legal advice. You need to consult a competent licensed attorney in your jurisdiction for legal advice.
For the German company it is more convenient to have the jurisdiction in Germany and have the contract interpreted under German law for many reasons. They are familiar with German law and it is easier for them to sue you in Germany. Coming to US to sue you will be more expensive and difficult for them. Similar arguments apply to why you would prefer jurisdiction to be in the US.
In such cases there are several options. One is to have the contract interpreted under a neutral country law and to assign jurisdiction to a neutral country. But that may satisfy neither party. The other option is to opt for dispute resolution under binding arbitration which may be preferable.
However it will depend on a fuller understanding of the facts and circumstances of your case and is also subject to negotiation. It may also be a business decision that you have to make whether you are prepared to take the risk of litigating in Germany or whether you would walk away from such a contract.
You may be using the wrong techniques for business development and looking in the wrong places for clients. If you are looking for clients on outsourcing websites like Elance, Odesk, eWorker etc. be aware that the clients on those websites are usually middle men looking to outsource their clients' projects to cheap resources in India and other countries. The competition is stiff there and the usual rates are what you described. Instead of wasting time there you should be active in your local community and network with potential clients who are bigger companies and want quality as well as reliability. If you have been in the field for 15 years, you should have built a network of local clients who value your services. Referrals from satisfied clients are a great way to build your business. Join your local chamber of commerce. Attend trade shows. Sometimes people in technical professions lack communication skills and do not understand marketing with the result that they sell themselves short. Consider taking some courses in marketing. Write a blog where you can display your expertise. Join Linked In groups and answer technical questions. Deliver talks and lectures. Build a public media brand image. There are lots of things that you can do to market yourself to attract the right sort of clients.
Lots of people have ideas. It is the execution that is very difficult. There are a lot of obstacles to cross between an idea and reality and along the way you learn many lessons. Sometimes on the basis of feedback you revise your idea and are able to understand the market better so you may come up with new and better ideas. Failures do happen and success comes to those who persevere and work hard. In your situation, you really need to test your idea and see whether there is a real need for the app in the market. If you are able to sell others on your idea, you may be able to get them to partner with you. If you cannot code, either learn how to or offer a partnership to someone who can code well. Do not partner with someone just because he is your friend or relative but choose people for the complementary skills that they bring which you need. And remember Rome was not built in a day and there are no overnight successes.