[{"data":1,"prerenderedAt":463},["ShallowReactive",2],{"navigation-en":3,"uslugi-slug-en-integrations-and-api":87,"language-switcher-\u002Fen\u002Fservices\u002Fintegrations-and-api":458},{"services":4,"industries":48,"caseStudies":69},[5,10,14,19,23,27,31,35,39,43],{"slug":6,"navLabel":7,"navGroup":8,"heroHeadline":9},"web-applications","Web applications","build","A web application built around your process",{"slug":11,"navLabel":12,"navGroup":8,"heroHeadline":13},"erp-systems","ERP systems","An ERP system built for your company, not the other way round",{"slug":15,"navLabel":16,"navGroup":17,"heroHeadline":18},"integrations-and-api","Integrations and APIs","improve","Your systems stop being islands",{"slug":20,"navLabel":21,"navGroup":17,"heroHeadline":22},"ai-implementation","AI implementation","AI deployed where it actually saves time",{"slug":24,"navLabel":25,"navGroup":17,"heroHeadline":26},"process-automation","Process automation","Work no one should be doing by hand",{"slug":28,"navLabel":29,"navGroup":8,"heroHeadline":30},"websites","Websites","A site that loads instantly and brings in inquiries",{"slug":32,"navLabel":33,"navGroup":8,"heroHeadline":34},"mobile-applications","Mobile applications","One codebase, both platforms",{"slug":36,"navLabel":37,"navGroup":17,"heroHeadline":38},"code-audit-and-project-takeover","Code audit and takeover","The project stalled. We'll take it over and tell you the truth about its condition",{"slug":40,"navLabel":41,"navGroup":17,"heroHeadline":42},"maintenance-and-support","Maintenance and support","A system needs someone watching it after launch",{"slug":44,"navLabel":45,"navGroup":46,"heroHeadline":47},"discovery-workshop","Discovery workshop","start","Before you decide to build, find out exactly what you're building",[49,53,57,61,65],{"slug":50,"navLabel":51,"heroHeadline":52},"manufacturing","Manufacturing","The works order reaches the floor as a printout from an email",{"slug":54,"navLabel":55,"heroHeadline":56},"automotive","Automotive","The customer exists in three places at once",{"slug":58,"navLabel":59,"heroHeadline":60},"industrial-automation","Industrial automation","You sell competence that doesn't photograph",{"slug":62,"navLabel":63,"heroHeadline":64},"e-commerce","E-commerce","The shop works. What sits behind it comes apart",{"slug":66,"navLabel":67,"heroHeadline":68},"logistics","Transport and logistics","The job arrives by email, the status comes back by phone",[70,77,82],{"slug":71,"client":72,"tag":73,"year":74,"summary":75,"image":76},"dss-by-caredo","Caredo","Product",2025,"We build the whole DSS product together with the Caredo team — from the CRM and planner to the software behind the key lockers and totems.","\u002Fimg\u002Fcase-studies\u002Fdss\u002Fkluczykomat\u002Fframe_0169.webp",{"slug":78,"client":72,"tag":79,"year":74,"summary":80,"image":81},"dss-by-caredo-website","Product website","We built the DSS product website end to end — from design to launch — on Caredo's visual identity.","\u002Fimg\u002Fscreenshots\u002Fdss-desktop.jpg",{"slug":83,"client":83,"tag":84,"year":74,"summary":85,"image":86},"2motion","Brand and website","A whole brand from scratch — logo, colours, business cards — a company website and blog posts that position 2motion in search.","\u002Fimg\u002Fscreenshots\u002F2motion-desktop.jpg",{"service":88,"relatedCase":202,"relatedPosts":318,"i18nSlugs":319,"subServices":321},{"id":89,"title":90,"audience":91,"body":95,"description":124,"extension":125,"faq":126,"heroHeadline":18,"heroSubline":139,"keyword":140,"meta":141,"navGroup":17,"navLabel":16,"navigation":142,"order":119,"path":143,"pricingModels":144,"process":154,"relatedCase":71,"relatedPosts":171,"scope":173,"seo":189,"sitemap":190,"slug":15,"stem":200,"__hash__":201},"servicesEn\u002Fservices\u002Fintegrations-and-api.md","System integrations and APIs",[92,93,94],"Companies where the same information is entered by hand into two systems","Online stores whose stock levels drift out of sync","Taxpayers who must issue invoices through KSeF and have no mechanism for it",{"type":96,"value":97,"toc":117},"minimark",[98,103,107,110,114],[99,100,102],"h2",{"id":101},"integration-isnt-a-one-off-project","Integration isn't a one-off project",[104,105,106],"p",{},"Connecting two systems can be done in a week. Keeping it running for three years, through API changes on both sides, version migrations and seasonal volume spikes, is a completely different task — and that's what actually determines the real cost.",[104,108,109],{},"That's why we design every exchange assuming it will eventually break: retry queues, idempotent operations, an event log and alerts. An integration without that works great until the first exception.",[99,111,113],{"id":112},"ksef-without-panic","KSeF without panic",[104,115,116],{},"The e-invoice obligation turned integration from an option into a necessity. If you have your own sales system, you don't need to replace it — you need a layer that translates your invoices into the structured format, sends them, handles rejections, and archives the confirmations.",{"title":118,"searchDepth":119,"depth":119,"links":120},"",3,[121,123],{"id":101,"depth":122,"text":102},2,{"id":112,"depth":122,"text":113},"We connect ERP, CRM, e-commerce and wholesale systems into one data flow. We implement KSeF and build APIs you can rely on.","md",[127,130,133,136],{"q":128,"a":129},"How much does connecting two systems cost?","A simple connection through a well-documented API is usually PLN 8–20k net. Integrating with a system that has no API, requiring work on files or the database directly, can cost several times more — because the difficulty sits on that system's side, not ours.",{"q":131,"a":132},"What if my system has no API?","What's left is exchange files, database access, or interface automation. Each of those is worse than an API, and we say so directly, because it affects maintenance cost.",{"q":134,"a":135},"How long does a KSeF rollout take?","For a company with its own sales system, usually 3–6 weeks, including testing on the Ministry of Finance's pre-production environment.",{"q":137,"a":138},"What happens when an integration stops working?","Monitoring detects the gap in the exchange and sends an alert. Unprocessed documents wait in a queue and go through once the connection is restored — nothing disappears silently.","The most expensive integration is the one a person performs — copying data from one window to another, every day, with mistakes.","system integration",{},true,"\u002Fservices\u002Fintegrations-and-api",[145,148,151],{"name":146,"body":147},"Fixed price per integration","A single connection with a known scope — the most common model.",{"name":149,"body":150},"Integration bundle","Several systems at once, quoted together, with a lower rate per additional connection.",{"name":152,"body":153},"SLA retainer","Maintaining working integrations with a guaranteed response time for outages.",[155,159,163,167],{"step":156,"duration":157,"body":158},"System inventory","3–5 days","What needs to talk to what, in which direction, how often, and which system is the source of truth for each field.",{"step":160,"duration":161,"body":162},"Exchange design","1 week","Field mapping, conflict rules, error handling and volumes.",{"step":164,"duration":165,"body":166},"Rollout","2–8 weeks","Depending on the number of systems and whether they expose a reasonable API.",{"step":168,"duration":169,"body":170},"Observation","1 month","We run in production with heightened monitoring before handing off to maintenance.",[172],"ksef-integracja-systemu-firmowego",[174,177,180,183,186],{"title":175,"body":176},"ERP and accounting integrations","Documents, contacts and payments flow automatically, with error handling and a retry queue instead of records silently going missing.",{"title":178,"body":179},"E-commerce and marketplaces","Stock, prices, orders and shipping statuses synced both ways, with conflict resolution.",{"title":181,"body":182},"KSeF rollout","Issuing and receiving structured invoices, authentication, rejection handling and UPO archiving.",{"title":184,"body":185},"Custom APIs","We design and document APIs your partners and clients can plug into without your involvement.",{"title":187,"body":188},"Data exchange monitoring","An alert when synchronisation stops working — before you hear about it from a client.",{"title":90,"description":124},{"loc":191,"alternatives":192},"\u002Fen\u002Fservices\u002Fintegrations-and-api",[193,196,198],{"hreflang":194,"href":195},"x-default","\u002Fuslugi\u002Fintegracje-i-api",{"hreflang":197,"href":195},"pl-PL",{"hreflang":199,"href":191},"en-US","services\u002Fintegrations-and-api","n1j28IOWWWSC0C0MOL_WuQ1u6Fwc7MmprwrJP06AKGM",{"id":203,"title":204,"body":205,"challenge":270,"client":72,"description":271,"extension":125,"features":272,"meta":279,"navigation":142,"order":280,"path":281,"relatedServices":282,"results":283,"screenshotDesktop":76,"screenshotMobile":287,"seo":288,"sequence":289,"sitemap":292,"slug":71,"solution":299,"stack":300,"stem":305,"summary":75,"tag":73,"url":306,"usedBy":307,"year":74,"__hash__":317},"caseStudiesEn\u002Fcase-studies\u002Fdss-by-caredo.md","DSS by Caredo — a product we build together with the Caredo team",{"type":96,"value":206,"toc":264},[207,211,214,217,221,237,244,248,251,255],[99,208,210],{"id":209},"starting-point","Starting point",[104,212,213],{},"DSS (Digital Service Station) is a system for car dealerships and service centres that takes the customer from the moment they pull into the car park to the moment they collect their car. A totem greets them and shows them where to park, a key locker takes the key without the front desk, a parts dispenser hands a mechanic the parts for a specific work order.",[104,215,216],{},"Each of those devices only makes sense if it knows who the customer is and which work order is in progress. That is the software's job — and that is the part we build together with Caredo.",[99,218,220],{"id":219},"what-we-build-together","What we build together",[104,222,223,224,228,229,232,233,236],{},"A ",[225,226,227],"strong",{},"CRM"," where the customer, their history and their work orders are one record. A ",[225,230,231],{},"planner"," where the schedule of visits and work orders is made. A ",[225,234,235],{},"key handover system",": the customer drops off or collects a key at any hour, and the system assigns it to the work order and logs every operation on its own.",[104,238,239,240,243],{},"On top of that, ",[225,241,242],{},"device integrations"," — external and internal key lockers, the parts dispenser, the tool dispenser and the parking totem — so that each one is part of a single process rather than a separate machine with its own database.",[99,245,247],{"id":246},"device-interfaces-for-brands","Device interfaces for brands",[104,249,250],{},"A Porsche customer shouldn't see the same key-locker screen as a Kia customer. For Mercedes-Benz, Porsche, Toyota and Kia dealers we build device interfaces in each brand's identity — screens the customer uses alone, with no member of staff beside them, so they have to make sense from the first touch.",[99,252,254],{"id":253},"how-we-work-together","How we work together",[104,256,257,258,263],{},"We're not the vendor of a single module. We work with the Caredo team on the whole product: when a new device is designed, its software and its integration with the rest of the system are built alongside it, not after the fact. The product website, dssbycaredo.com, we built separately — it's a ",[259,260,262],"a",{"href":261},"\u002Fen\u002Fcase-studies\u002Fdss-by-caredo-website","separate case study",".",{"title":118,"searchDepth":119,"depth":119,"links":265},[266,267,268,269],{"id":209,"depth":122,"text":210},{"id":219,"depth":122,"text":220},{"id":246,"depth":122,"text":247},{"id":253,"depth":122,"text":254},"Caredo designs devices for dealerships and service centres: key lockers, parts dispensers, parking totems. The hardware is half the product. The other half is the software that connects each device to the customer, the work order and the service team — and that has to look like the brand's showroom, not like a technical panel.","Together with the Caredo team we build the whole DSS product: the CRM, the planner, the key handover system, the integrations of the devices on site and the device interfaces for Mercedes-Benz, Porsche, Toyota and Kia dealers.",[273,274,275,276,277,278],"A CRM with customer history, work orders and permissions per branch and role","A planner for visits and service orders","A 24\u002F7 key drop-off and pickup system that assigns each key to its work order","Integrations for the key lockers, parts and tool dispensers and the parking totem","Customer-facing device interfaces in Mercedes-Benz, Porsche, Toyota and Kia identity","An analytics dashboard with real-time data",{},1,"\u002Fcase-studies\u002Fdss-by-caredo",[6,15,24],[284],{"metric":285,"label":286},"100%","System uptime",null,{"title":204,"description":271},{"path":290,"frames":291,"poster":76},"\u002Fimg\u002Fcase-studies\u002Fdss\u002Fkluczykomat\u002Fframe_",169,{"loc":293,"alternatives":294},"\u002Fen\u002Fcase-studies\u002Fdss-by-caredo",[295,297,298],{"hreflang":194,"href":296},"\u002Frealizacje\u002Fdss-by-caredo",{"hreflang":197,"href":296},{"hreflang":199,"href":293},"We work as part of the Caredo team: together we build the CRM, the planner, the key drop-off and pickup system and the integrations that bring every device into one system. For Mercedes-Benz, Porsche, Toyota and Kia dealers we design device interfaces in each brand's identity.",[301,302,303,304],"TypeScript","Nuxt","Node.js","PostgreSQL","case-studies\u002Fdss-by-caredo","https:\u002F\u002Fdssbycaredo.com",[308,309,310,311,312,313,314,315,316],"Mercedes-Benz","Porsche","Toyota","Kia","Audi","Cupra","Ford","Škoda","Volkswagen","MS9XoW0yDSBUBi4JOZJ4VQn87W5x7rIKYo99PuI8oSg",[],{"pl":320,"en":15},"integracje-i-api",[322,390],{"id":323,"title":324,"audience":325,"body":329,"description":349,"extension":125,"faq":350,"heroHeadline":360,"heroSubline":361,"keyword":362,"meta":363,"navigation":142,"order":364,"parent":15,"path":365,"relatedCase":287,"scope":366,"seo":379,"sitemap":380,"slug":387,"stem":388,"__hash__":389},"subServicesEn\u002Fservices\u002Fintegrations-and-api\u002Fksef-integration.md","KSeF integration — e-invoicing in your own system",[326,327,328],"Companies issuing invoices from their own sales system or ERP","Shops and wholesalers generating documents across several channels","Organisations whose software vendor provides no integration",{"type":96,"value":330,"toc":345},[331,335,338,342],[99,332,334],{"id":333},"why-this-isnt-just-sending-an-xml","Why this isn't \"just sending an XML\"",[104,336,337],{},"Because integrating with a public system is mostly about handling its\nunavailability and its refusals. Sending a document in the happy path is the\nsmallest part of the work, and the most common reason such a project is\nunderestimated.",[99,339,341],{"id":340},"what-we-leave-behind","What we leave behind",[104,343,344],{},"Documentation of the fallback procedure and tests you can run after any change\nto your sales system. With a statutory obligation that isn't an extra — it is\nthe only way a change elsewhere doesn't switch invoicing off.",{"title":118,"searchDepth":119,"depth":119,"links":346},[347,348],{"id":333,"depth":122,"text":334},{"id":340,"depth":122,"text":341},"Authentication, the FA format, rejection handling, receipt archiving and the fallback mode. Poland's national e-invoicing system wired into the document flow you already run.",[351,354,357],{"q":352,"a":353},"Our software vendor says they'll add KSeF. Do we need you?","If they add it and handle rejections, receipts and the fallback mode — no. It is worth asking them about exactly those three things: they are what separates an integration that works from one that works until the first error.",{"q":355,"a":356},"We issue invoices in several systems. Is that a problem?","It is the main cost driver in these rollouts. Every document source needs a consistent numbering scheme and a shared KSeF status, otherwise accounting gets three versions of the truth instead of one.",{"q":358,"a":359},"How long does it take?","With one document source and an available API — usually a few weeks including testing against the sandbox. With several sources the workshop sets the scope, because the document flow starts to dominate over the integration itself.","KSeF wired into the flow you already run","Sending an invoice to KSeF is rarely the problem. The problem is what happens when a document is rejected, when the service is unavailable, and when invoices are produced in three places at once.","KSeF integration",{},7,"\u002Fservices\u002Fintegrations-and-api\u002Fksef-integration",[367,370,373,376],{"title":368,"body":369},"Authentication and permissions","Establishing and maintaining access, managing tokens and permissions for people and for systems. This is where a hastily built integration most often falls over.",{"title":371,"body":372},"Issuing and pre-submission validation","Checking the document structure on your side before it reaches KSeF. A rejection caught locally costs seconds; caught afterwards it costs a correction and a call to the customer.",{"title":374,"body":375},"Rejections and retries","A queue with automatic retries, a clear document status, and a place where accounting can see what is stuck and why.",{"title":377,"body":378},"Receipts, archiving and the fallback mode","Retrieving and storing the official confirmation of receipt, and handling the case where the service is down. The fallback mode is not a theoretical requirement — it is a procedure you have to have ready.",{"title":324,"description":349},{"loc":381,"alternatives":382},"\u002Fen\u002Fservices\u002Fintegrations-and-api\u002Fksef-integration",[383,385,386],{"hreflang":194,"href":384},"\u002Fuslugi\u002Fintegracje-i-api\u002Fintegracja-ksef",{"hreflang":197,"href":384},{"hreflang":199,"href":381},"ksef-integration","services\u002Fintegrations-and-api\u002Fksef-integration","GgTEJi4Y_1QJbFhtGq0--FejcglrGzyeiFB1_JiqbGo",{"id":391,"title":392,"audience":393,"body":397,"description":417,"extension":125,"faq":418,"heroHeadline":428,"heroSubline":429,"keyword":430,"meta":431,"navigation":142,"order":432,"parent":15,"path":433,"relatedCase":287,"scope":434,"seo":447,"sitemap":448,"slug":455,"stem":456,"__hash__":457},"subServicesEn\u002Fservices\u002Fintegrations-and-api\u002Fe-commerce-integrations.md","Connecting your shop to an ERP and marketplaces",[394,395,396],"Shops selling in parallel on their own site and on marketplaces","Wholesalers running online sales alongside traditional ones","Companies whose orders reach the ERP through an export and an import",{"type":96,"value":398,"toc":413},[399,403,406,410],[99,400,402],{"id":401},"where-the-saving-is","Where the saving is",[104,404,405],{},"In the hours somebody spends today moving data from one window to another. The\nmost expensive integration is the one a person performs — and it can be counted\nbefore the quote, which makes this one of the easier projects to justify.",[99,407,409],{"id":408},"what-we-dont-do","What we don't do",[104,411,412],{},"We don't build shops from scratch where a ready platform will do. Our value is\nin the layer that sits behind it.",{"title":118,"searchDepth":119,"depth":119,"links":414},[415,416],{"id":401,"depth":122,"text":402},{"id":408,"depth":122,"text":409},"One source of stock for the shop, the marketplaces and phone sales. Orders reaching the ERP without being retyped.",[419,422,425],{"q":420,"a":421},"How many channels can be connected?","Technically any number, but each additional one has its own API, its own limits and its own returns rules — so the number of channels is the main cost driver. We settle it before quoting.",{"q":423,"a":424},"Will the integration run unattended?","No, and nobody honest will promise otherwise. Marketplace APIs change without notice. Maintaining this layer is a real, recurring cost we state before the start rather than after the first outage.",{"q":426,"a":427},"Do we have to change our shop platform?","Almost never. The platform is usually the smallest part of the problem and replacing it is the most expensive possible answer. We work with what you have.","One stock, every channel","Stock drifts not because somebody makes mistakes but because it exists in two places at once. The answer isn't syncing more often — it is removing the second place.","connecting a shop to an ERP",{},8,"\u002Fservices\u002Fintegrations-and-api\u002Fe-commerce-integrations",[435,438,441,444],{"title":436,"body":437},"A single-stock layer","Every channel reads and reserves the same stock through one interface. The drift disappears because the second record of the level disappears — not because a sync runs every five minutes.",{"title":439,"body":440},"Orders that pass through without a person","From the platform to the ERP and on to dispatch, with error handling and retries. Manual work stays only for the exceptions that genuinely need a decision.",{"title":442,"body":443},"Prices and promotions in one place","Price lists and campaigns set once and published to the channels. Without it, every campaign is a separate manual operation in every system.",{"title":445,"body":446},"Returns and credit notes","The most commonly skipped scope and the most common cause of stock drift. A return has to come back onto stock and into the documents by the same route it left.",{"title":392,"description":417},{"loc":449,"alternatives":450},"\u002Fen\u002Fservices\u002Fintegrations-and-api\u002Fe-commerce-integrations",[451,453,454],{"hreflang":194,"href":452},"\u002Fuslugi\u002Fintegracje-i-api\u002Fintegracje-e-commerce",{"hreflang":197,"href":452},{"hreflang":199,"href":449},"e-commerce-integrations","services\u002Fintegrations-and-api\u002Fe-commerce-integrations","9HDgN94ZfdGv95D1gvjnH-yiS75-LxOHjLDLw_a9W4I",[459],{"code":460,"label":461,"name":462,"to":195},"pl","PL","Polish",1790522544554]