Upphandling och inköp
Trollhättans Stad stad genomför löpande både stora och små upphandlingar av varor och tjänster. På den här sidan hittar du våra aktuella och kommande upphandlingar och information om hur en upphandling går till. Om du som leverantör undrar vad du bör tänka på, så kan du läsa mer om det här.
Trollhättans Stad stad välkomnar ditt företag att delta i upphandlingar då en sund konkurrens är positivt för alla parter. På den här sidan hittar du alla pågående upphandlingar och även våra planerade upphandlingar. Här nedan finns även information om hur du kan delta i en upphandling och hur processen med offentlig upphandling går till.
Hur sker upphandling i Trollhättans Stad?
Alla våra upphandlingar sker i enlighet med lagen om offentlig upphandling och stadens policys och riktlinjer. Anbud till Trollhättans Stad lämnas i de allra flesta fall i Visma Opic, vilket är det elektroniska upphandlingssystem som vi använder.Mer information om upphandling
Bevaka aktuella upphandlingar
Du kan bevaka aktuella upphandlingar inom just din bransch med hjälp av bevakningstjänsten av offentliga upphandlingar som företaget Opic har. Detta är en prenumerationstjänst där du kan du se alla upphandlingar i hela landet i din bransch som gör att du inte missar en möjlig affär.
Bevakningstjänsten Opic
Senast granskad 2025-11-13 av KLALIW
Statistical Code
<!-- VECKA 47 - CAMPAIGN - START -->
<script>
if ($("body").hasClass("StartPage")) {
// CHANGE LOGO ON STARTPAGE
$('body.StartPage header .top-area .logoType h1 a img, .logoType a img')
.attr('src', 'https://www.trollhattan.se/globalassets/bilder/tema/dark/thn_logo_black.png');
}
</script>
<style>
/* LOGO */
/*body.StartPage header .top-area .logoType h1 a img, .logoType a img { content:url(https://www.trollhattan.se/globalassets/bilder/tema/dark/thn_logo_black.png)!important; }*/
/* PAGE */
body.StartPage { background: #F8B068; }
body.StartPage main .contentBgColor { background-color: #F8B068; }
/* DETAILS */
body.StartPage main .contentBgColor .newsListing ul.listingContent li { border-top: 4px solid #292929; }
body.StartPage main .contentBgColor .newsListing ul.listingContent { border-bottom: 4px solid #292929; }
body.StartPage hr { border: solid #292929; }
body.StartPage main .contentBgColor .blue-header { color: #292929; }
body.StartPage main .contentBgColor .newsListing ul.listingContent li a:after { background-position: 0 -597px!important; top: 20px; right: 6px; }
body.StartPage main .contentBgColor .root a:after { top: 10px; left: 10px; background-position: 0 -597px !important; }
body.StartPage main .contentBgColor .contact-center { background: #f0f0f0; }
/* HITTA SNABBT */
body.StartPage main .startpage-predictions .row>div { background-color: #292929; color: #F8B068; }
body.StartPage main .startpage-predictions .row .rek-prediction .rekai-pill { border-color: #F8B068; }
body.StartPage main .startpage-predictions .row .rek-prediction .rekai-pill a { color: #F8B068; }
body.StartPage main .startpage-predictions .row .rek-prediction .rekai-pill a:hover { background-color: #F8B068; color: #292929; }
/* NAVIGATION */
body.StartPage header .light-gray { background-color: #292929; }
body.StartPage header .globalNavigation li a { color: #F0F0F0; }
body.StartPage header .globalNavigation li span { color: #292929; background-color: #F8B068; }
body.StartPage header .globalNavigation li a:hover, .globalNavigation li a.tabbed { color: #292929; background-color: #F8B068; }
</style>
<!-- VECKA 47 - CAMPAIGN - END -->
<script type="text/javascript">
// SITEIMPROVE
(function () {
var sz = document.createElement('script'); sz.type = 'text/javascript'; sz.async = true;
sz.src = '//siteimproveanalytics.com/js/siteanalyze_8055.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sz, s);
})();
</script>
<script type="text/javascript">
// Lyssna is clicked
$(".bapluslogo").click(function(e){
// Siteimprove event
var eventCategory = "Lyssna på sidan";
var eventLabel = $('body').css('position') == 'absolute' ? "Close" : "Open";
var eventAction = $(document).attr('title').replace(" - Trollhättans stad", "");
_sz.push(['event', eventCategory, eventLabel, eventAction]);
});
// Lättläst is clicked
$("#showEasyread").click(function(e){
// Siteimprove event
var eventCategory = "Lättläst";
var eventLabel = $('#showEasyread').hasClass('active') ? "Close" : "Open";
var eventAction = $(document).attr('title').replace(" - Trollhättans stad", "");
_sz.push(['event', eventCategory, eventLabel, eventAction]);
});
// Hitta snabbt is clicked
setTimeout(function() {$(".rek-link").click(function(e){
// Siteimprove event
var eventCategory = "Hitta snabbt";
var eventLabel = $(document).attr('title').replace(" - Trollhättans stad", "");
var eventAction = $(this).text();
_sz.push(['event', eventCategory, eventLabel, eventAction]);
});
}, 2000);
</script>
<script type="text/javascript">
// VISITORS VOICE
var _paq = _paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//tracking.visitorsvoice.com/piwik/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', '39']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<script>
// Startpage only
if ($("body").hasClass("StartPage")) {
// Language links on startpage
// ORIGINAL CSS
//var languages_start = '<div style="float: right;position: relative;height: 2em;z-index: 100;background: #f0f0f0;padding: 0.5em;">';
// CAMPAIGN CSS
var languages_start = '<div style="float: right;position: relative;height: 2em;z-index: 100;background: #292929; padding: 0.5em;">';
var img = '<i class="fa-solid fa-angle-right" style="margin-right:5px;"></i>';
var eng = '<a style="margin:10px; COLOR: #f0f0f0;" href="/en/homepage/">' + img + '<span class="show-for-sr">Show the article in </span> English</a>';
var fin = '<a style="margin:10px; COLOR: #f0f0f0;" href="/fi/startsida/">' + img + '<span class="show-for-sr">Näytä artikkeli </span> Suomi</a>';
var swe = '<a style="margin:10px; COLOR: #f0f0f0;" href="/startsida/">' + img + '<span class="show-for-sr">Visa artikeln på </span> Svenska</a>';
var languages_end = '</div>';
var path = window.location.pathname;
switch (path) {
case '/startsida/':
case '/startsida':
$('header').append(languages_start + eng + fin + languages_end);
break;
case '/fi/startsida/':
case '/fi/startsida':
$('header').append(languages_start + eng + swe + languages_end);
break;
case '/en/homepage/':
case '/en/homepage':
$('header').append(languages_start + swe + fin + languages_end);
break;
default:
break;
}
// Campaign: Red (den nya) startpage-panels when black
//$('.startpage-panels .colorBlack').css({"background-color":"#C94846"});
// Campaign: Orange startpage-panels when empty
$('.startpage-panels .colorEmpty').css({"background-color":"#F8B068"});
//************************
}
</script>
<script>
// Set Language Label in header
var userLanguage = navigator.language || navigator.userLanguage;
var languageLabel;
switch (userLanguage) {
case 'sv' :
case 'sv-SE' :
languageLabel = "Språk";
break;
case 'en' :
case 'en-US' :
languageLabel = "Languages";
break;
case 'fi' :
languageLabel = "Kieli";
break;
default :
languageLabel = "Languages";
}
$(".functionLinks ul li.colorLightYellow a strong").text($(".functionLinks ul li.colorLightYellow a strong").text().replace("Languages", languageLabel));
$("#MobileMenu ul li.colorLightYellow a strong").text($("#MobileMenu ul li.colorLightYellow a strong").text().replace("Languages", languageLabel));
</script>
<script>
// SearchPage only
if ($("body").hasClass("SearchPage")) {
//Change background color to search tip
var beforeTip = '</div></div></div><div class="row"><div class="block textblock full large-12 medium-12 small-12 columns"><div class="row colorLightYellow"><div class="medium-12 columns"><p>'
var afterTip = '</p></div>'
var oldtext = $('.searchNumberPresentation').html();
var newtext = (oldtext.replace('<p>', beforeTip)).replace('</p>', afterTip);
$('.searchNumberPresentation').html(newtext);
}
</script>
<style>
.opaonhover:hover, .opaonhover:focus { opacity:0.9; }
.noborder {margin-bottom:0px; line-height:0; border:none!important;}
</style>