Debt woes and funding needs in focus as China hosts African leaders
Debt woes and funding needs in focus as China hosts African leaders
Read this story aloud
Listen to the clean text version of this article
Ready
6 min listen
Audio reading is not supported on this browser.
Africa and its ample mineral and oil rehe focus of intense geopolitical competition in recent years between global powers like China, Europe and the United States
A China-Africa summit in Beijing this week takes place as a continent slowly emerging from a series of defaults seeks to define its future cooperation with the Asian nation that partly fuelled its debt binge and now faces its own economic headwinds.
Africa and its ample mineral and oil resources and population of more than 1 billion people have become the focus of intense geopolitical competition in recent years between global powers like China, Europe and the United States.
With China now Africa’s top bilateral lender, the visiting heads of state bring expectations of a major concession on debt restructuring, said Yunnan Chen, research fellow at the UK-based think tank Overseas Development Institute.
More To Read
- Why the World Bank will stop lending to China by 2031
- US envoy challenges South Africa’s non-alignment as China defends Pretoria’s foreign policy
- Kenya wins Grand Prize at Huawei ICT Global Finals in China
- Skater Kelvin Kiarie secures spot in China’s elite freestyle exchange program
- Boost for Kenyan exporters as first cargo under China zero-tariff deal lands at Xiamen port
- Somalia and China sign MoU on satellite data and remote sensing at NewSpace Africa 2026
“I would suspect that it will end up being a bit more low key,” she said, adding that China has been “recalcitrant” on the debt issue due to the complex web of state lenders and other institutions involved.
When it comes to restructuring, China has tended to focus on extending maturities rather than writing off debt, though details of agreements reached – or indeed conditions of the original loans – remain scant.
While the Paris Club of creditor nations, the International Monetary Fund and the World Bank have decades of experience of navigating debt restructuring proceedings for poor countries, China’s lending to Africa took centre stage as the pandemic struck.
Latest Stories
- DCI arrests man accused of conning job seekers Sh8.6 million in fake KDF, NPS and PSC recruitment scam
- Wajir begins construction of Baitulmaal Level 4 Hospital to expand access to healthcare
- The world has the science to transform food systems: The next frontier is scaling it
- Nigeria demands probe after two citizens killed in South Africa amid rising xenophobia concerns
The Forum for China-Africa Cooperation (FOCAC) launched in 2000 and took on an enhanced role after the 2013 inception of President Xi Jinping’s Belt and Road Initiative (BRI), which aims to recreate the ancient Silk Road.
China unveiled a $60 billion financing package at the 2015 FOCAC, and repeated that in 2018. By the summit in Dakar in 2021, Beijing pivoted to trade and investments – a shift largely due to domestic financial pressures, the onset of COVID-19 and a commodities crash that hurt African economies.
Stalled projects
Chinese lenders approved loans worth $4.61 billion to Africa last year – the first annual increase in seven years – but still significantly below its 2016 peak.
Turning off the cash spigot has left incomplete railways and roads, from Kenya’s modern railway line to Uganda, or a $450 million highway linking Cameroon’s capital Yaounde to Douala.
That has worsened the headache for African leaders trying to boost growth amid rising debt repayments, sluggish government revenues and unrest driven by inequality in Kenya and Nigeria.
Moroccan Prime Minister Aziz Akhannouch arrives at the Beijing Capital International airport ahead of the Forum on China-Africa Cooperation (FOCAC) summit in Beijing on September 4, 2024. (Reuters)
The African Development Bank puts Africa’s annual infrastructure financing deficit at $100 billion.
The implementation of a giant trade bloc, the African Continental Free Trade Area, requires a ramp-up in infrastructure connectivity like roads, railways and bridges.
“In Beijing now, the issue is how do we complete the projects that have already started?,” said Kenyan international relations expert Peter Kagwanja.
High debt loads and shrinking fiscal space are also high on the agenda.
Zambia owed 20% of its external debt to China before it managed to complete a lengthy restructuring in July. China plays a major role in Ethiopia, also stuck in a rework.
By comparison, Beijing played a lesser part as a lender in Ghana and Chad, which progressed more quickly through restructurings under the G20’s Common Framework.
“While the maintenance of strategic relationships in Africa is key to China’s long-term objectives, risk mitigation is necessitated by Africa’s debt challenges,” said Boston University’s Global Development Policy Centre last week.
A chunk of Beijing’s lending – for example to Angola – is arranged as controversial resource-backed loans. Countries like Uganda reject those deals amid concerns future generations would lose out.
Latest data point to China adopting a new strategy of skirting debt-laden economies by working with African multilateral banks. Two of last year’s 13 approved Chinese loan deals were to the African Export-Import Bank, a regional development institution.
Avocado and minerals
At the 2021 FOCAC, Beijing promised to boost imports from Africa to $300 billion by end 2024. According to China’s foreign ministry, they totalled $305.9 billion in 2-1/2 years to July this year, exceeding the goal already.
“China has always attached great importance to the implementation of the outcomes of the Forum on China-Africa Cooperation,” Mao Ning, a foreign ministry spokesperson said at a news conference in Beijing.
But diversifying imports is a tough task.
A Reuters analysis showed imports skewed in favour of mineral sectors in countries like Botswana, Namibia, Zambia,Zimbabwe and the Democratic Republic of the Congo.
Promoting balanced trade featured prominently when South Africa’s President Cyril Ramaphosa met his Chinese counterpart on Monday ahead of the start of the summit.
China has opened up its vast market to fresh avocados from Kenya for example, but a duty of 30% meant growers opted to export to the EU where they can do so duty free.
And how much fresh funding from Beijing could be forthcoming remains to be seen.
Other Topics To Read
Analysts say nations such as Kenya, seeking cash to complete its $5 billion railway project, or Angola, looking for financing to diversify its economy, might find themselves walking away empty handed.
“China will do more of information sharing and keeping relationships with Africa. A lot of conversations will be bilateral and information will be kept off the radar,” said Fred Muhumuza, a lecturer at Makerere University’s business school in Kampala. “There will be no increase in loans.”
Top Stories Today
- Man arrested over Sh8.6 million fake KDF, police jobs scam
- Saba Saba organisers notify police of peaceful march to Parliament
- Wajir expands healthcare with new Baitulmaal Level 4 Hospital project
- Why scaling innovation is the missing link in global food security
- Abuja warns of diplomatic fallout after killing of Nigerians in South Africa
- Kenya’s Stephen Yiembe lands historic UEFA Super Cup officiating role
`;
}
return “;
}
function commentActionsMarkup(comment, canComment) {
const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
const likeCount = Number(comment.like_count || 0) > 0
? “
: ”;
const likeButton = canComment && comment.status === ‘approved’
? “
: “;
const replyButton = canComment && comment.status === ‘approved’
? “
: ”;
return `
`;
}
function commentMarkup(comment, canComment, isReply = false) {
const pendingBadge = comment.status && comment.status !== ‘approved’
? “
: ”;
const edited = comment.is_edited
? “
: ”;
const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
? `
`
: “;
return `
`;
}
function replyFormMarkup(commentId) {
return `
`;
}
function setNotice(widget, message, type = ‘info’) {
const notice = widget.querySelector(‘[data-role=”notice”]’);
if (!notice) return;
if (!message) {
notice.hidden = true;
notice.textContent = ”;
notice.classList.remove(‘is-error’);
return;
}
notice.hidden = false;
notice.textContent = message;
notice.classList.toggle(‘is-error’, type === ‘error’);
}
function setCount(widget, total) {
const count = widget.querySelector(‘[data-role=”count”]’);
if (!count) return;
const num = Number(total || 0);
count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
}
function openReplyBox(widget, commentId) {
widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
box.hidden = true;
box.innerHTML = ”;
});
const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (!targetItem) return;
const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
if (!replyBox) return;
replyBox.hidden = false;
replyBox.innerHTML = replyFormMarkup(commentId);
const textarea = replyBox.querySelector(‘textarea’);
if (textarea) textarea.focus();
}
function closeReplyBox(container) {
if (!container) return;
container.hidden = true;
container.innerHTML = ”;
}
async function initCommentsWidget(widget) {
const state = {
articleId: Number(widget.dataset.articleId),
loadUrl: widget.dataset.loadUrl,
storeUrl: widget.dataset.storeUrl,
commentsBaseUrl: widget.dataset.commentsBaseUrl,
canComment: widget.dataset.canComment === ‘1’,
page: 1,
perPage: 10,
sort: ‘newest’,
total: 0,
hasMore: false,
busy: false
};
const list = widget.querySelector(‘[data-role=”list”]’);
const loading = widget.querySelector(‘[data-role=”loading”]’);
const empty = widget.querySelector(‘[data-role=”empty”]’);
const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);
async function loadComments(reset = true) {
if (state.busy) return;
state.busy = true;
setNotice(widget, ”);
loading.hidden = false;
if (reset) {
state.page = 1;
list.innerHTML = ”;
empty.hidden = true;
}
try {
const url = new URL(state.loadUrl, window.location.origin);
url.searchParams.set(‘page’, state.page);
url.searchParams.set(‘per_page’, state.perPage);
url.searchParams.set(‘sort’, state.sort);
const response = await requestJson(url.toString(), {
method: ‘GET’,
headers: {
‘Accept’: ‘application/json’,
‘X-Requested-With’: ‘XMLHttpRequest’
}
});
const items = Array.isArray(response.data) ? response.data : [];
const meta = response.meta || {};
state.total = Number(meta.total || 0);
state.hasMore = !!meta.has_more;
setCount(widget, state.total);
if (reset) {
list.innerHTML = ”;
}
if (!items.length && reset) {
empty.hidden = false;
} else {
empty.hidden = true;
list.insertAdjacentHTML(
‘beforeend’,
items.map(item => commentMarkup(item, state.canComment, false)).join(”)
);
}
loadMoreBtn.hidden = !state.hasMore;
} catch (error) {
if (!list.children.length) {
empty.hidden = false;
empty.textContent = ‘Unable to load comments right now.’;
}
setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
} finally {
loading.hidden = true;
state.busy = false;
}
}
async function submitTopLevelComment(form) {
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘[data-role=”submit-comment”]’);
if (!textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(state.storeUrl, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
textarea.value = ”;
if (response?.data) {
list.insertAdjacentHTML(
‘afterbegin’,
commentMarkup(response.data, state.canComment, false)
);
empty.hidden = true;
if ((response.data.status || ”) === ‘approved’) {
state.total += 1;
setCount(widget, state.total);
}
}
setNotice(widget, response.message || ‘Comment posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post comment’;
}
}
}
async function submitReply(form) {
const commentId = Number(form.dataset.commentId || 0);
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘.ev-comments__reply-submit’);
if (!commentId || !textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
if (response?.data) {
const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (parentItem) {
const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
if (repliesWrap) {
repliesWrap.insertAdjacentHTML(
‘beforeend’,
commentMarkup(response.data, state.canComment, true)
);
}
}
}
closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
setNotice(widget, response.message || ‘Reply posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post reply’;
}
}
}
async function toggleLike(button) {
const commentId = Number(button.dataset.commentId || 0);
if (!commentId) return;
const originalHtml = button.innerHTML;
try {
button.disabled = true;
button.innerHTML = ‘Working…’;
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({})
});
const liked = !!response?.data?.liked;
const likeCount = Number(response?.data?.like_count || 0);
button.classList.toggle(‘is-liked’, liked);
button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
} catch (error) {
button.innerHTML = originalHtml;
setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
} finally {
button.disabled = false;
}
}
if (composerForm) {
composerForm.addEventListener(‘submit’, function (e) {
e.preventDefault();
submitTopLevelComment(composerForm);
});
}
if (sortSelect) {
sortSelect.addEventListener(‘change’, function () {
state.sort = this.value || ‘newest’;
loadComments(true);
});
}
if (loadMoreBtn) {
loadMoreBtn.addEventListener(‘click’, function () {
if (state.busy || !state.hasMore) return;
state.page += 1;
loadComments(false);
});
}
widget.addEventListener(‘click’, function (e) {
const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
if (likeBtn) {
e.preventDefault();
toggleLike(likeBtn);
return;
}
const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
if (replyBtn) {
e.preventDefault();
openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
return;
}
const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
if (cancelReplyBtn) {
e.preventDefault();
closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
}
});
widget.addEventListener(‘submit’, function (e) {
const replyForm = e.target.closest(‘.ev-comments__reply-form’);
if (replyForm) {
e.preventDefault();
submitReply(replyForm);
}
});
loadComments(true);
}
document.addEventListener(‘DOMContentLoaded’, function () {
document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
});
})();
Trending
Nigeria demands probe after two citizens killed in South Africa amid rising xenophobia concernsAfrica
|Rachael Mutabasi
|4 hours ago
Quiet revolution behind foldable smartphones and why they’re making a comebackTechnology
|Margaret Wanjiru
|17 hours ago
Stephen Yiembe makes history as first Kenyan referee appointed for UEFA Super CupFootball
|Erick Kariuki
|5 hours ago
DCI arrests man accused of conning job seekers Sh8.6 million in fake KDF, NPS and PSC recruitment scamNational
|Abdirahman Khalif
|3 hours ago
Lilian Odira targets personal best and Diamond League final after dream victory in EugeneAthletics
|Erick Kariuki
|7 hours ago
Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent – reportClimate Change
|Alfred Onyango
|1 day ago
The world has the science to transform food systems: The next frontier is scaling itClimate Change
|The Conversation
|4 hours ago
Zamzam fires warning over ODM nomination as Mombasa succession politics intensifyPolitics
|Farhiya Hussein
|5 hours ago
Rising political violence draws condemnation from Mombasa religious leadersCoast
|Farhiya Hussein
|13 hours ago
A Super El Niño is coming: Five hard‑won lessons the world can learn from AfricaClimate Change
|The Conversation
|9 hours ago